错误(3,31):PL/SQL:ORA-00984:此处不允许列
Error(3,31): PL/SQL: ORA-00984: Column is not allowed here
我正在写以下 oracle sql 触发器
CREATE OR REPLACE TRIGGER scheme1.INSERTING_TRIGGER AFTER INSERT ON scheme1.Bill
FOR EACH ROW
BEGIN
INSERT INTO scheme2.DM_LOGGER(ID, TECHNOLOGY, WORKFLOW, NAME_EVENT, TIME_EVENT)
VALUES(scheme1.Bill.id,'Repository','UP','Accepted', SYSDATE);
END;
它抛出以下错误:
- 错误(2,1):PL/SQL:SQL 语句被忽略
- 错误(3,31):PL/SQL:ORA-00984:此处不允许使用列。
如果我的猜测是正确的,问题出在DM_LOGGER的ID列。
但我不确定它有什么问题。我只想在我的记录器中自动插入新账单记录中的 ID。
您需要使用 NEW
记录:
CREATE OR REPLACE TRIGGER scheme1.INSERTING_TRIGGER AFTER INSERT ON scheme1.Bill
FOR EACH ROW
BEGIN
INSERT INTO scheme2.DM_LOGGER(ID, TECHNOLOGY, WORKFLOW, NAME_EVENT, TIME_EVENT)
VALUES(:NEW.id,'Repository','UP','Accepted', SYSDATE);
END;
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS99955
我正在写以下 oracle sql 触发器
CREATE OR REPLACE TRIGGER scheme1.INSERTING_TRIGGER AFTER INSERT ON scheme1.Bill
FOR EACH ROW
BEGIN
INSERT INTO scheme2.DM_LOGGER(ID, TECHNOLOGY, WORKFLOW, NAME_EVENT, TIME_EVENT)
VALUES(scheme1.Bill.id,'Repository','UP','Accepted', SYSDATE);
END;
它抛出以下错误:
- 错误(2,1):PL/SQL:SQL 语句被忽略
- 错误(3,31):PL/SQL:ORA-00984:此处不允许使用列。
如果我的猜测是正确的,问题出在DM_LOGGER的ID列。 但我不确定它有什么问题。我只想在我的记录器中自动插入新账单记录中的 ID。
您需要使用 NEW
记录:
CREATE OR REPLACE TRIGGER scheme1.INSERTING_TRIGGER AFTER INSERT ON scheme1.Bill
FOR EACH ROW
BEGIN
INSERT INTO scheme2.DM_LOGGER(ID, TECHNOLOGY, WORKFLOW, NAME_EVENT, TIME_EVENT)
VALUES(:NEW.id,'Repository','UP','Accepted', SYSDATE);
END;
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS99955