我用了CREATE SEQUENCE,在SEQUENCE中也能看见~为什么还是不能自动增加?当我插入一条记录的时候,要求我必须把ID值也设进取?

解决方案 »

  1.   

    insert into table(id) values(seq.nextval);
      

  2.   

    楼上的~报错sequence does not exist。可我已经设过了~难道不止用CREATE SEQUENCE句?
      

  3.   

    insert into table(id) values(seq.nextval);
    这个seq跟你执行insert 语句是不是同一个用户名?
    比如:建seq是用户a
    执行insert 是用户b 
    那要这样写了:
    insert into table(id) values(a.seq.nextval);
    或者建同义词  create public synonym seq for a.seq;
      

  4.   

    建议先看看书。
    Seqence不是建立好就可以了(建立的时候还有很多参数会影响你的调用的结果)
    而是要在插入资料的时候取seqence的值(不同于Sql server的设定一个栏位就好了)。red_bat(红蝙蝠) 说的方法就是如何调用Seqence
    其实就是<seqence_name>.nextval获取你定义的seqence的下一个可用值。
    然后把这个值插入到你的ID列。还是好好看看书上的例子吧
      

  5.   

    嗯!这个数据库比较麻烦~以前只用过access,现在要加些学费了~
      

  6.   

    yqwd911(windy):是不是有更好的办法?我感觉应该可以在数据库里将这个值设好,每次insert的时候就不用考虑ID了。
      

  7.   

    oracle里没有直接在数据库里将这个值设好吧?
    最好的方法就是建seq了
      

  8.   

    哦?每次把这个写到程序里是个比较麻烦的事情,还会容易出错~不过非常谢谢red_bat(红蝙蝠) 对我的帮助!结贴了,回去好好看看书