簡體   English   中英

觸發器中的 Oracle PL/SQL 游標

[英]Oracle PL/SQL Cursor in Trigger

我得到了這個觸發器,似乎沒問題,但我得到了錯誤:

扳機 :

CREATE OR REPLACE TRIGGER TRG_TABLE_BI
BEFORE INSERT
ON TABLE
FOR EACH ROW
DECLARE
    CURSOR cur_list IS
        SELECT emp, name, day, salary, id,phone
        FROM TABLE NATURAL JOIN OTHERTABLE
        WHERE emp = :NEW.emp AND name = :NEW.name AND id = :NEW.id;

    curChoice cur_list%ROWTYPE;

BEGIN
    OPEN cur_list;
    LOOP
        FETCH cur_list INTO curChoice;
        EXIT WHEN cur_list%NOTFOUND;
        dbms_output.put_line(curchoice.id);
        dbms_output.put_line(curChoice.emp);
        dbms_output.put_line(curchoice.name);
    END LOOP;
    CLOSE cur_list;

END;
/

我得到了那些錯誤:

PLS-00049: bad bind variable 'NEW.emp'

如果我在 WHERE 子句中刪除游標聲明中的“:”,則會出現更多錯誤

謝謝你。

好的,我在 WEHRE 子句中的光標聲明中發現了錯誤,我必須刪除

emp = :NEW.emp AND name = :NEW.name

因為我當前插入的表中沒有這樣的列。

感謝 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM