创建语句完整如下,使用的是scott用户登录,所测试的表也是scott其中的一个基础表dept。但是编译报错 Warning: Trigger created with compilation errors。各位有知道原因的么?
CREATE OR REPLACe TRIGGER tr_insertdept
BEFORE INSERT ON dept
FOR EACH ROW
begin
if (SELECT deptno FROM inserted) > 70
--print '报错';
RAISE_APPLICATION_ERROR(-20001,'不能插入大于70的DEPTNO!');
ROLLBACK TRANSACTION;
end if;
end;
/
oracle 超简单触发器 Warning: Trigger created with compilation errors
答案:3 悬赏:10
解决时间 2021-02-16 12:44
- 提问者网友:情系雨樱花
- 2021-02-16 08:57
最佳答案
- 二级知识专家网友:转身后的回眸
- 2021-02-16 09:16
试试这个:
CREATE OR REPLACE TRIGGER tr_insertdept
BEFORE INSERT ON dept
FOR EACH ROW
begin
if :new.deptno > 0 then
--print '报错';
RAISE_APPLICATION_ERROR(-20001,'不能插入大于70的DEPTNO!');
ROLLBACK TRANSACTION;
end if;
end;
/
CREATE OR REPLACE TRIGGER tr_insertdept
BEFORE INSERT ON dept
FOR EACH ROW
begin
if :new.deptno > 0 then
--print '报错';
RAISE_APPLICATION_ERROR(-20001,'不能插入大于70的DEPTNO!');
ROLLBACK TRANSACTION;
end if;
end;
/
全部回答
- 1楼网友:一身浪痞味
- 2021-02-16 10:22
执行完上面的脚本后
show error
或者查字典
select text from dba_errors where name='biud_employees_copy';
可以看到具体的错误
你贴一下
- 2楼网友:偏爱自由
- 2021-02-16 09:57
不能在Oracle中的SQL 工作表单中创建触发器,存储过程,或者是函数。如果在这里创建这些都会是编译错误,其实本身的创建语句是没有错误的,你的切换到命令窗口去执行这些创建语句。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |