创建自动编号字段的sql语句怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:35:21
创建一个数据表, 其中的第一个字段数据类型为自动编号, 像access里的那样. 这个sql语句该怎么写.

第一种方式:创建table的时候直接创建一个自增长的标识列,以这个标识列为编号;
第二种方式:查询table的时候自动生成排序编号,可以使用row_number() over(),比如
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee

使用 identity(a,b)

a为起始值,b为每次自增的数量

  •  这是在ms sqlserver中是这么创建的

  1. create table tablename(

  2.    ID int identity(1,1) NOT NULL     -- identity(1,1) 就表示的是自增

  3. )

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 iden