oracle用户账号被锁SQL_Oracle表中ID字段的自动递增

目标:实现向一张表中插入数据时,ID字段自动递增。

开始实验:

(1)、创建实验表

createtable test_ID_add

(

ID NUMBER(10),

USERNAME VARCHAR2(32),

TEL VARCHAR2(11),

CREATE_DATE datedefaultsysdate

);

 

(2)、创建序列

使用PL/SQL Developer创oracle账号建序列

 

补充:对于序列的创建,我们也可以通过命令实现,如下:create sequence seq_testincrement by 1 start with 1nomaxvaluenominvaluenocache--参数说明--seq_test,表示创建序列的名称--increment by 1 表示每次增加1--start with 1表示开始于1--nomaxvalue表示没有最大值--nominvalue表示没有最小值--nocache表示序列号达到上限后不继续扩展补充结束

(3)、创建触发器

–每次向test_id_add表新插入一条数据之前,先插入一个ID值

create or replace trigger tr_IDADD

before insert on test_id_add

for each row

begin

select seq_idadd.nextval into :new.id from dual;

end;

(4)、测试

SQL>insert into test_id_add(Username,TEL) values('huangyanlong','12345678900');

–插入第一条数据

SQL>commit;

SQL>SELECT * from test_id_add;

SQL>insert into test_id_add(Username,TEL) values('lilei','13713777777');

–插入第二条数据

SQL>commit;

SQL>SELECT * from test_id_add;

如图所示,ID字段在以每次加一后自动增长。

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。