CREATE OR REPLACE TRIGGER TRG_NAME
BEFORE INSERT ON T_NAME
FOR EACH ROW
DECLARE  V_ID NUMBER;
BEGIN 
  SELECT TO_CHAR(FWDB.YW_CBGK_SEQ.NEXTVAL) INTO :NEW.V_ID FROM DUAL;
END TRG_NAME;  这样就肯定没有错误!

解决方案 »

  1.   

    我认为lilylamb(小羊羔) 的没问题,我帮你试过了
      

  2.   

    CREATE OR REPLACE TRIGGER TRG_NAME
    BEFORE INSERT ON T_NAME
    FOR EACH ROW
    DECLARE  V_ID NUMBER;
    BEGIN 
      SELECT TO_CHAR(FWDB.YW_CBGK_SEQ.NEXTVAL) INTO :NEW.V_ID FROM DUAL;
    END TRG_NAME;----------------------------------
    BEFORE换成AFTER,下边的查询语句就错了
    AFTER INSERT ON T_NAME
    FOR EACH ROW
    DECLARE  V_ID NUMBER;
    BEGIN 
      SELECT TO_CHAR(FWDB.YW_CBGK_SEQ.NEXTVAL) INTO :NEW.V_ID FROM DUAL;
    END TRG_NAME;我遇到了这么个问题,请问如何解决?
      

  3.   

    楼上告诉你一件事,在一个行级别后不能对:new 进行修改,因为该语句已经进行了处理.
    通常:new仅仅在行级别前的触发器中被修改