使用序列作为插入值初始值不是 1

来源:互联网 发布:jenkins for windows 编辑:程序博客网 时间:2024/06/13 10:38

--测试如下 


SQL> DROP SEQUENCE SEQ_TEST;序列已删除。SQL> CREATE SEQUENCE SEQ_TEST  2  MINVALUE 1  3  MAXVALUE 99999999999  4  START WITH 1  5  INCREMENT BY 1  6  CACHE 20;序列已创建。SQL> CREATE TABLE tb(  2      TEST_ID NUMBER PRIMARY KEY,  3      TEST_NAME VARCHAR2(20)  4  );CREATE TABLE tb(             *第 1 行出现错误: ORA-00955: 名称已由现有对象使用 SQL> drop table tb;表已删除。SQL> CREATE TABLE tb(  2      TEST_ID NUMBER PRIMARY KEY,  3      TEST_NAME VARCHAR2(20)  4  );表已创建。SQL> INSERT INTO tb VALUES(SEQ_TEST.NEXTVAL,'ABC');已创建 1 行。SQL> select * from tb;   TEST_ID TEST_NAME                                                            ---------- --------------------                                                          2 ABC                                                                  SQL> spool off;

--创建表时加上 SEGMENT CREATION IMMEDIATE;

SQL> DROP SEQUENCE SEQ_TEST;序列已删除。SQL> CREATE SEQUENCE SEQ_TEST  2  MINVALUE 1  3  MAXVALUE 99999999999  4  START WITH 1  5  INCREMENT BY 1  6  CACHE 20;序列已创建。SQL> CREATE TABLE tb(  2      TEST_ID NUMBER PRIMARY KEY,  3      TEST_NAME VARCHAR2(20)  4  )  5   SEGMENT CREATION IMMEDIATE;表已创建。SQL> INSERT INTO tb VALUES(SEQ_TEST.NEXTVAL,'第一个序列')  2  /已创建 1 行。SQL> commit;提交完成。SQL> SELECT * FROM tb;   TEST_ID TEST_NAME                                                            ---------- --------------------                                                         1 第一个序列  


0 0
原创粉丝点击