如果在同一张表中我想同时限制不能修改2个字段应该怎么写啊?
比如
create or replace trigger tr_test
before update of username,date on t_user
referencing old o new n for each row
declarebegin
end;begin 里面该怎么写呢?
总不会限制2个字段需要写2个触发器吧,那样太麻烦了
比如
create or replace trigger tr_test
before update of username,date on t_user
referencing old o new n for each row
declarebegin
end;begin 里面该怎么写呢?
总不会限制2个字段需要写2个触发器吧,那样太麻烦了
解决方案 »
- 求推荐本PL/SQL的教学书
- oracle关于sql语句绑定变量的问题
- 关于Oracle HTTPServer 服务的问题
- 菜鸟问路关于oracle
- oracle 10能否导入到oracle 9?
- oracle锁的问题
- 用sql语句修改字段名,怎么写?(alter table rename?)
- 删除大量数据(千万)问题(急),星星多的帮帮忙啊!拜谢
- 从SQL SERVER用DTS导入数据到ORACLE 中时,输入目的用户和密码老是报错
- SQL Server 是否有象Oracle一样的分区功能
- db2到oracle的迁移方案及oracle设计方案(提供建议即可)
- oracle 取字符串/后面的字符
:n.date := :o.date;
[/Quote]不是啊,我想要提示信息啊··,比如说raise_application_error(-20001,'用户名不能修改')
比如用户如果只想修改用户名我就给他提示用户名不能修改,
如果想修改日期我就能正确的提示出 日期不能修改怎么样才能正确用if语句执行这两条语句呢raise_application_error(-20001,'用户名不能修改')
raise_application_error(-20002,'注册日期不能修改');
create or replace trigger tr_test
before update on t_user
for each row
declarebegin
dbms_output.put_line(:new.username);
dbms_output.put_line(:new.userage);
if :new.username != :old.username then
raise_application_error(-20001,'用户名不能修改');
end if;
if :new.userage != :old.userage then
raise_application_error(-20002,'用户年龄不能修改');
end if;
end;