我正在尝试使用触发器将记录插入到与另一个表中更改的记录相同的表中。
我还需要插入操作是插入、更新还是删除
CREATE OR REPLACE TRIGGER triggername
AFTER INSERT OR UPDATE OR DELETE
ON tablename
DECLARE
operation_type VARCHAR2;
changed_id VARCHAR2;
BEGIN
IF UPDATING
THEN operation_type := 'Update';
ELSE IF INSERTING
THEN operation_type := 'Insert';
ELSE IF DELETING
THEN operation_type := 'Delete';
END IF;
SELECT id
FROM tablename
WHERE :OLD.record1 != :NEW.record1
OR :OLD.record2 != :NEW.record2
OR :OLD.record3 != :NEW.record3
OR :OLD.record4 != :NEW.record4
OR :OLD.record5 != :NEW.record5
OR :OLD.record6 != :NEW.record6;
INTO changed_id;
INSERT INTO trigger_table.id VALUES(changed_id);
INSERT INTO trigger_table.type VALUES(operation_type);
END;
/
我收到一个错误
每个 :NEW 或 :OLD 的“BAD BIND NAME :NEW”或“BAD BIND NAME :OLD”
如上所示