oracle sql developer是否无法使用行级触发器的new和old变量??

牛尚小又何妨 2017-05-06 10:16:24
本人刚刚接触Oracle,想向各位熟悉Oracle的大神请教一下,oracle sql developer是否无法使用行级触发器的new和old变量??我定义的触发器能够在sqlplus中编译并且起作用,但是放到 sql developer上执行的时候总是弹出输入绑定的对话框。
百度两个小时都没有找到确定的答案。是sql developer设置问题?还是sql developer 根本不支持这种触发器的new和old变量?
希望各位指点一下,谢谢。
create or replace  trigger tri_emp 
before update
on employees
for each row
begin
if :new.salary>:old.salary then
dbms_output.put_line(:new.first_name||'工资调高了');
elsif :new.salary<:old.salary then
dbms_output.put_line(:new.first_name||'工资调低了');
else
dbms_output.put_line(:new.first_name||'工资没有调整');
end if;
end tri_emp;

...全文
392 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2017-05-08
  • 打赏
  • 举报
回复

SQL>
SQL> create table employees(salary int, first_name varchar(10));
Table created
SQL> insert into employees values(100,'zhangsan');
1 row inserted
SQL> create or replace trigger tri_emp
2 before update
3 on employees
4 for each row
5 begin
6 if :new.salary>:old.salary then
7 dbms_output.put_line(:new.first_name||'工资调高了');
8 elsif :new.salary<:old.salary then
9 dbms_output.put_line(:new.first_name||'工资调低了');
10 else
11 dbms_output.put_line(:new.first_name||'工资没有调整');
12 end if;
13 end tri_emp;
14 /
Trigger created
SQL> set serverout on;
SQL> update employees set salary = 200;
zhangsan工资调高了
1 row updated
SQL> update employees set salary = 100;
zhangsan工资调低了
1 row updated
SQL> update employees set salary = 100;
zhangsan工资没有调整
1 row updated
SQL> drop table employees purge;
Table dropped

SQL>
jdsnhan 2017-05-08
  • 打赏
  • 举报
回复
引用 2 楼 u013882957 的回复:
[quote=引用 1 楼 ckc 的回复:] 触发器一般不用来做这种用途。 sql developer好像很少有人用,建议你装个pl/sql
我安装plsql试了一下,确实不会报错,谢谢。不过不知道这种触发器用sql developer怎么实现。[/quote] 我也在用sql developer,没遇到过这种问题,也用你的脚本做了个测试,也正确执行了。
  • 打赏
  • 举报
回复
没看出来问题。。。
牛尚小又何妨 2017-05-07
  • 打赏
  • 举报
回复
引用 1 楼 ckc 的回复:
触发器一般不用来做这种用途。 sql developer好像很少有人用,建议你装个pl/sql
我安装plsql试了一下,确实不会报错,谢谢。不过不知道这种触发器用sql developer怎么实现。
ckc 2017-05-07
  • 打赏
  • 举报
回复
触发器一般不用来做这种用途。 sql developer好像很少有人用,建议你装个pl/sql

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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