用select * from user_Sequence where sequence_name = 'Sequence_userid'查询是存在的用insert into ST_USER VALUES(Sequence_userid.nextval,'','','0')出现:
        ERROR 位于第 1 行:
        ORA-02289: 序列(号)不存在

解决方案 »

  1.   

    SQL> SELECT SEQUENCE_NAME FROM USER_SEQUENCES;SEQUENCE_NAME
    ------------------------------
    ABCD_SEQSQL>  insert into t5(id) values(ABCD_SEQ.NEXTVAL);已创建 1 行。SQL>
      

  2.   

    你的ST_USER表中只有4列吗??如果不止4列的话,请填写所有的列。
      

  3.   

    确定只有四列,且SELECT SEQUENCE_NAME FROM USER_SEQUENCES查询是存在的
      

  4.   

    把你的st_user表的结构弄出来看看。
    看你插入的列类型是否都正确。insert into st_user values(SEQUENCE_USERID.NEXTVAL,'','','0');
    这样试试(虽然和你的sql语句一样)。
      

  5.   

    双引号""惹的祸。
    无""时,ORACLE对象名都是大写。
    select * from user_Sequence where sequence_name = 'Sequence_userid'是查不到的。
    重新创建该sequence,不要使用""。
    或者使用:
    insert into ST_USER VALUES("Sequence_userid".nextval,'','','0');造孽…………
      

  6.   


    这样类似的问题我以前也遇到过!我想问个问题,既然他在创建sequence的时候带了双引号,那么他查询的时候(对sequence的名称没有加双引号)怎么又查到了呢??按我的理解如果他加了双引号那么在查询时如果对该sequence名没有加双引号进行查询时,应该是查不到的呀!!
      

  7.   

    啥都不说了,请看下面测试SQL> create table st_user (userid number);表已创建。SQL> create sequence "Sequence_userid" start with 1 increment by 1;序列已创建。SQL> select * from user_Sequence where sequence_name = 'Sequence_userid';
    select * from user_Sequence where sequence_name = 'Sequence_userid'
                  *
    第 1 行出现错误:
    ORA-00942: 表或视图不存在
    SQL> select * from user_Sequences where sequence_name = 'Sequence_userid';SEQUENCE_NAME                   MIN_VALUE  MAX_VALUE INCREMENT_BY C O CACHE_SIZE------------------------------ ---------- ---------- ------------ - - ----------LAST_NUMBER
    -----------
    Sequence_userid                         1 1.0000E+27            1 N N         20          1
    SQL> insert into ST_USER VALUES(Sequence_userid.nextval);
    insert into ST_USER VALUES(Sequence_userid.nextval)
                               *
    第 1 行出现错误:
    ORA-02289: 序列不存在
    SQL> insert into ST_USER VALUES("Sequence_userid".nextval);已创建 1 行。SQL> commit;提交完成。SQL> select * from st_user;    USERID
    ----------
             1SQL>  create sequence Sequence_userid start with 1 increment by 1;序列已创建。SQL> insert into ST_USER VALUES(Sequence_userid.nextval);已创建 1 行。SQL> commit;提交完成。SQL> select * from st_user;    USERID
    ----------
             1
             1SQL>
      

  8.   

    SQL> drop table st_user purge;表已删除。SQL> drop sequence Sequence_userid;序列已删除。SQL> drop sequence Sequence_userid;
    drop sequence Sequence_userid
                  *
    第 1 行出现错误:
    ORA-02289: 序列不存在
    SQL> drop sequence "Sequence_userid";序列已删除。SQL>
      

  9.   

    谢谢suiziguo的解答  也谢谢duqiangcise的帮助