创建自动编号字段的sql语句怎么写?
创建一个数据表,其中的第一个字段数据类型为自动编号,像access里的那样.这个sql语句该怎么写....
创建一个数据表, 其中的第一个字段数据类型为自动编号, 像access里的那样. 这个sql语句该怎么写.
展开
5个回答
展开全部
第一种方式:创建table的时候直接创建一个自增长的标识列,以这个标识列为编号;
第二种方式:查询table的时候自动生成排序编号,可以使用row_number() over(),比如
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee
第二种方式:查询table的时候自动生成排序编号,可以使用row_number() over(),比如
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用 identity(a,b)
a为起始值,b为每次自增的数量
a为起始值,b为每次自增的数量
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql server中:
create table aa
(
a int identity(1,1),
b varchar(20)
)
oracle采用序列+触发器
CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
/
CREATE TRIGGER TRGname
BEFORE INSERT ON table_name
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.FIELDname
FROM DUAL;
End;
create table aa
(
a int identity(1,1),
b varchar(20)
)
oracle采用序列+触发器
CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999
/
CREATE TRIGGER TRGname
BEFORE INSERT ON table_name
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.FIELDname
FROM DUAL;
End;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create table aa
(
a int identity(1,1),
b varchar(20)
)
(
a int identity(1,1),
b varchar(20)
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询