oracle 12c
中我如下设置的触发器CREATE OR REPLACE TRIGGER MY_TGR_1
BEFORE INSERT ON TAB_USER
FOR EACH ROW
DECLARE
NEXT_UUID NUMBER;
BEGIN
NEXT_UUID = 1;
:NEW.UUID := NEXT_UUID;
END;表结构如下执行插入语句后
INSERT INTO "test" ("name") VALUES ('chen');报错
> ORA-04098: trigger 'test.TRI_TEST' is invalid and failed re-validation
中我如下设置的触发器CREATE OR REPLACE TRIGGER MY_TGR_1
BEFORE INSERT ON TAB_USER
FOR EACH ROW
DECLARE
NEXT_UUID NUMBER;
BEGIN
NEXT_UUID = 1;
:NEW.UUID := NEXT_UUID;
END;表结构如下执行插入语句后
INSERT INTO "test" ("name") VALUES ('chen');报错
> ORA-04098: trigger 'test.TRI_TEST' is invalid and failed re-validation
你忘test 这个insert 数据是啥哦
NEXT_UUID = 1;改为
NEXT_UUID := 1;
不过第二次UUID为空的话就会报主键冲突,可以考虑用序列