设为首页 加入收藏

TOP

SQL_Oracle表中ID字段的自动递增
2015-07-24 10:33:16 来源: 作者: 【 】 浏览:1
Tags:SQL_Oracle 表中 段的 自动 递增

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

开始实验:

(1)、创建实验表

createtable test_ID_add

(

ID NUMBER(10),

USERNAME VARCHAR2(32),

TEL VARCHAR2(11),

CREATE_DATE datedefaultsysdate

);

?

(2)、创建序列

使用PL/SQL Developer创建序列

\

\

?

补充:

对于序列的创建,我们也可以通过命令实现,如下:

create sequence seq_test

increment by 1 

start with 1

nomaxvalue

nominvalue

nocache

--参数说明

--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问题集 下一篇oracle表名、字段名等对象的命名..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)
·Python 教程 - W3Sch (2025-12-26 12:00:51)
·Python基础教程,Pyt (2025-12-26 12:00:48)