有一个oracle触发器问题,不知道为何错误,急,在线等 
CREATE OR REPLACE TRIGGER RACY.tr_613 
BEFORE INSERT 
ON  standard_answer 
FOR EACH ROW 
DECLARE 
BEGIN           SELECT innerid.NEXTVAL INTO :NEW.NO FROM dual; 
END; 错误在哪里,如何修改。 
急啊 
多谢。 

解决方案 »

  1.   

    SELECT innerid.NEXTVAL INTO :NEW.NO FROM dual; 
    此处错误
      

  2.   

    楼主想插入一条新纪录吗,sql语句写的不对,应该用insert into
      

  3.   

    :NEW.NO  
    --------------
    :NEW后面的东西应该是你表中的字段,请确定standard_answer中是否有这个字段。
      

  4.   

    http://topic.csdn.net/u/20091102/17/4a53d732-64fe-4c15-a01d-481a2d76e9ec.html
      

  5.   

    应该是SELECT innerid.NEXTVAL INTO :NEW.NO FROM dual; 这句有问题
    你最好是show error显示报错,这样可以确定一下
      

  6.   

    SELECT innerid.NEXTVAL INTO :NEW.NO FROM dual;
    --应该是这句有问题:new.no是个值,是你打算插入的那个值,在每条记录触发的那一刻,它是个常量。
    你把innerid的下一个值覆盖个常量,这样肯定是不允许的? 你的本意是什么?如果你想看下那个值的内容,把:new.no赋值给个变量,打出来看。