2025-02-25 02:27:53
目测, 你是在用 SQL Server 数据库的语法, 在 Oracle 上面写触发器啊......
CREATE TABLE a (
objcode INT,
objstate INT
);
CREATE TABLE b (
objcode INT,
objstate INT
);
INSERT INTO a VALUES( 1, 100);
INSERT INTO b VALUES( 1, 100);
CREATE OR REPLACE TRIGGER tr_a_Update
BEFORE UPDATE OF objstate ON a
FOR EACH ROW
BEGIN
UPDATE b
SET objstate = :NEW.objstate
WHERE objcode = :OLD.objcode;
END;
/
触发器已创建
SQL>
SQL> UPDATE a SET objstate = 200 WHERE objcode = 1;
已更新 1 行。
SQL>
SQL> SELECT * FROM a;
OBJCODE OBJSTATE
---------- ----------
1 200
SQL>
SQL> SELECT * FROM b;
OBJCODE OBJSTATE
---------- ----------
1 200
2025-02-25 01:04:11
2025-02-25 03:54:50
这么改了,还是不行啊,错误依旧
2025-02-25 01:56:25
create trigger a_update
after update on a
begin
if update(objstate)
begin
update b set state = inserted.objstate where objcode = insered.objcode
end
end
报错:触发器无效且未通过重新确认