oracle触发器的问题

风飘了 2018-09-16 09:13:34
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
...全文
1077 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyangsoft 2018-09-18
  • 打赏
  • 举报
回复
触发器是错的,先把你的触发器调对了再插数据吧
NEXT_UUID = 1;改为
NEXT_UUID := 1;
不过第二次UUID为空的话就会报主键冲突,可以考虑用序列
123321... 2018-09-17
  • 打赏
  • 举报
回复
触发器的表错了
verejava 2018-09-17
  • 打赏
  • 举报
回复
风飘了 2018-09-17
  • 打赏
  • 举报
回复
哦哦谢谢哦,我再去看看
  • 打赏
  • 举报
回复
你触发器 在TAB_USER 这个表上,
你忘test 这个insert 数据是啥哦

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧