oracle序列创建及使用,Oracle创建和使用序列
Oracle創建和使用序列
1 語法
create sequence 序列名稱
2 創建序列
SQL> create sequence emp_seq;
Sequence created.
序列是一個數據庫對象,因此可以在數據字典中獲得其信息。與序列相關的視圖為user_objects和user_sequences。
SQL> col object_name format a15;
SQL> col object_type format a15;
SQL> col status format a15;
SQL> select object_name, object_type, status from user_objects where lower(object_name) = 'emp_seq';
OBJECT_NAME?? ?OBJECT_TYPE?? ?STATUS
--------------- --------------- ---------------
EMP_SEQ ?? ?SEQUENCE?? ?VALID
SQL> col sequence_name format a15;
SQL> col min_value format 99999;
SQL> col increment_by format 99999;
SQL> select sequence_name, min_value, max_value, increment_by from user_sequences where lower(sequence_name) = 'emp_seq';
SEQUENCE_NAME?? ?MIN_VALUE? MAX_VALUE INCREMENT_BY
--------------- --------- ---------- ------------
EMP_SEQ ?? ??? ?1 1.0000E+28?? ??? ?1
3 使用序列
在序列創建以后,要先使用nextval,然后才能使用currval。否則會報錯。
SQL> select emp_seq.nextval from dual;
NEXTVAL
----------
1
4 指定序列初始值
語法:
create sequence 序列名稱 start with 初始值
獲取表emp_copy的最大empno值,并利用start with創建序列
SQL> select max(empno) from emp_copy;
MAX(EMPNO)
----------
7982
SQL> create sequence emp_copy_seq start with 7983;
Sequence created.
可以利用emp_copy_seq的nextval屬性作為empno給表emp_copy插值
SQL> insert into emp_copy(empno, ename) values(emp_copy_seq.nextval, 'Li Si');
1 row created.
驗證
SQL> select empno, ename from emp_copy where empno = 7983;
EMPNO ENAME
---------- ---------------
7983 Li Si
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/28211342/viewspace-2136860/,如需轉載,請注明出處,否則將追究法律責任。
總結
以上是生活随笔為你收集整理的oracle序列创建及使用,Oracle创建和使用序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 6.5 openldap
- 下一篇: oracle没有imp.exe,imp.