您的位置:首页 > 数据库 > Oracle

用Oracle序列当主键

2015-07-17 15:51 507 查看
项目里很多报表都没有建主键,但是页面做更新或者删除需要用到。可以用下面的方法实现

--先建好序列

CREATE SEQUENCE cswarn_seq

     INCREMENT BY 1   -- 每次加几个  

     START WITH 1     -- 从1开始计数  

     NOMAXVALUE       -- 不设置最大值  

     NOCYCLE          -- 一直累加,不循环  

     CACHE 10; 

--需要用到序列的表

     CREATE TABLE test_a(

            aid VARCHAR2(10),

            btext VARCHAR2(20)

     );

     

     --数据源表

     CREATE TABLE test_b(

            text VARCHAR2(20)

     );

     

     --先往b表插几条记录

     

     SELECT t.*,ROWID FROM test_b t;
--执行以下语句

     INSERT INTO test_a
     SELECT cswarn_seq.nextval,text FROM test_b;

--序列生成的ID已经插入表中

     SELECT t.*,ROWID FROM test_a t
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle