我在里面写:
1   insert into BW_CT_ProductAbnRst
2   (RegisterSID,CorpSID,BMonth,CustomerSID,SALEQUANTITY,UnsalableQty,UNSALABLERATE,SALABLEQTY,SALABLERATE,STATUS) 
3    SELECT  SEQ_CT_TOTALABNORMITYRST.nextval,
4            A.CorpSID,
5      V_Statmomth,
6      A.CUSTOMERSID,
7      A.SALEQUANTITY,
8      ....................................................在运行时 说第一行报:SQL Statement ignored 
          第三行报:此处不允许序号 什么原因啊?~  
SEQ_CT_TOTALABNORMITYRST.nextval不能用嘛?~

解决方案 »

  1.   

    你有没有预先定义这个序列阿,SEQ_CT_TOTALABNORMITYRST。
      

  2.   

    楼主, 你的省略号后面有order by吧?order by和sequence不能放在一层SQL中使用.你可以:insert into xxx
    select xxxxx.nextval, ...
    from
    (
    select xxx
    from t
    order by ...
    )
      

  3.   

    create sequence SEQ_CT_TOTALABNORMITYRST 
    minvalue 1
    maxvalue 9999999
    start with 1
    increment by 1
    nocache;
      

  4.   


    测试如下,没有问题:
    CREATE SEQUENCE seq_1;
    CREATE TABLE test1(a INT,b INT);
    INSERT INTO test1 SELECT seq_1.nextval,seq_1.nextval FROM dual;
    SELECT * FROM test1; 
    输出:
    1 1
      

  5.   

    linzhangs 你说的  定义的语句放在BEGIN 之前嘛?·报错:出现符号“create”在需要下列之一时: begin case declare end .....  
      

  6.   

    bugchen888    order by和sequence不能放在一层SQL中使用. 
    知道了  就是bugchen888说得 不能在同一层使用。  
    谢了同志们