INSERT时如果要用到从1开始自动增长的数字做唯一关键字,
应该先建立一个序列号CREATE
SEQUENCE
序列号的名称
(最好是表名+序列号标记)
INCREMENT
BY
1
START
WITH
1
MAXVALUE
99999
NOCYCLE
NOCACHE;其中最大的值按字段的长度来定,比如定义的自动增长的序列NUMBER(6)
,
最大值为999999INSERT
语句插入这个字段值为:
序列号的名称NEXTVAL例子:
SQL>
insert
into
s_dept(id,
name,
region_id)
values
(s_dept_idnextval,
‘finance’,
2);1
row
created只有运行了序列号的名称
nextval后序列号的名称
currval
才有效才有值
这个表实际上是sys用户下的一个表,只有一个字段,一条记录,其他用户看到的只是一个公共同义词,所有用户都有权限查看这个公共同义词-dual使用这个表的好处是无论什么时候这个表总是存在的,例如执行一个查看当前日期的语句 select sysdate from dual;
这条语句在放在放在任何一个oracle数据库当中都不会报错,所以一般做一些特定查询的时候用这个表是最稳妥的。
以上就是关于SQL里面如何插入自动增长序列号字段全部的内容,包括:SQL里面如何插入自动增长序列号字段、ORACLE数据库中,dual表究竟有什么作用,怎么老师上课总用这个表、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)