在plsql中我创建了一张  ccc_points_report  表,哪位大侠知道给这张表添加序列该如何写 ?我是要进行插入操作  主键唯一的那种,好像还有个触发器这样的。一时想不起来怎么写了?请大家给小弟救急救急,万分感谢!!!

解决方案 »

  1.   

    -- Create sequence 
    create sequence ccc_points_seq
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 1
    increment by 1
    cache 20;在表中把你的id设为主建
      

  2.   

    序列:是一种数据库项,它生成一个整数序列,通常用来填充数据库的数字类型的主键列。create sequence sequence_name
    [start with start_num]
    [increment by increment_num]
    [{ maxvalue  maximum_num | nonmaxvalue}]
    [{ minvalue minimum_num | nonminvalue }]
    [{ cycle | nocycle }]
    [{ cache cache_num | nocache } ]
    [{ order | noorder } cache – 指定要保留在内存中整数的个数,默认为20
             最少为2个,
              最多为cell( maximum_num – minimum_num)/abs(increment_num)
      

  3.   

    insert into ccc_points_report values(ccc_points_seq.nextval, ...);
      

  4.   

    貌似这个没有触发器,到时候直接在插入数据的时候使用,序列名.nextval()就可以吧....
      

  5.   


    create or replace trigger set_seq
    before insert of test1
    for each row
    declare
    sn number(5);
    begin
    select seq.nextval into sn from dual;
    :new.id=sn;
    end;把这个触发器写到你需要这个序列的表中,把表明和序列名字修改下就好了!
      

  6.   

    不需要另外再建触发器也可以啊。
    往表时插入数据里,用nextval 直接取序列的下一个值。