我想在专业表中major(mid,mname)中添加一个触发器,
当添加或修改时专业名称出现'aaa'时,将其改为'bbb'
我写的语句如下图:
这个触发器是可以创建成功,但是后面有出一些错误,
如下图:另外,我在用命令行执行oracle时,下面的语句根本就没反应
CREATE OR REPLACE TRIGGER "MAJOR_T1"
BEFORE
insert or update on "MAJOR"
for each row
begin
AS BEGIN
IF (new.mname='cheng')
THEN new.mname='new_name';
END IF;
END;求大神支招,只要给出的答案能运行,一定给分触发器oracletrigger
2 before insert or update
3 on test_trigger
4 for each row
5 begin
6 if :new.nn='aaa' then
7 :new.nn:='bbb';
8 end if;
9 end;
10 /触发器已创建SQL> set serveroutput on
SQL> insert into test_trigger select 1,'aaaeee' from dual;已创建 1 行。SQL> insert into test_trigger select 1,'aaa' from dual;已创建 1 行。SQL> select * from test_trigger; ID NN
---------- --------------------------------------------------
1 aaaeee
1 bbb
万能的大神,成功啦,谢谢啦,前几天刚研究oracle,写触发器的时候,上面的例子是按资料书上格式写到,
可是总是出错,
在这里,运行了一切正常,看来资料书估计是过时了
另外有两点疑问:
1,怎么oracle中定义数值类型,我一直用的是number(),两者有什么区别吗
2, if :new.nn='aaa' then
:new.nn:='bbb';
为什么后面的:new.nn要加上':'