Create or replace trigger stud_insert
After insert on student
Begin
Update student
Set name=’intcap(name)’;
If gender=’1’ then
Update student
Set gender=’男’;
End if;
if gender=’0’ then
Update student
Set gender=’女’;
End if;
Update student
Set age=age +‘岁’;
End;
/ 总是出现要声明gender ,哪位高手帮帮忙吧,thank you very much *^_^*
After insert on student
Begin
Update student
Set name=’intcap(name)’;
If gender=’1’ then
Update student
Set gender=’男’;
End if;
if gender=’0’ then
Update student
Set gender=’女’;
End if;
Update student
Set age=age +‘岁’;
End;
/ 总是出现要声明gender ,哪位高手帮帮忙吧,thank you very much *^_^*
After insert on student
for each row
Begin
Update student
Set name=intcap(name);
If :new.gender=’1’ then
Update student
Set gender=’男’;
End if;
if :new.gender=’0’ then
Update student
Set gender=’女’;
End if;
Update student
Set age=age +‘岁’;----逻辑好像会有问题。
End;
/
你在看看你的拼写有没有问题
SQL> Create or replace trigger stud_insert
2 After insert on student
3 For each row
4 Begin
5 Update student
6 Set name=intcap(name);
7 If :new.gender='1' then
8 Update student
9 Set gender='男;
10 End if;
11 if :new.gender='0' then
12 Update student
13 Set gender='女';
14 End if;
15 Update student
16 Set age=age +'岁';
17 End;
18 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER STUD_INSERT 出现错误:LINE/COL ERROR
-------- ----------------------------------------------------------
5/1 PL/SQL: SQL Statement ignored
8/17 PL/SQL: ORA-00933: SQL 命令未正确结束
14/4 PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
;
能再帮我改改吗?
根据你的意思,应该用before insert来实现触发的,而不是在insert之后再去修改表Create or replace trigger stud_insert
before insert on student
for each row
Begin
:new.name:=initcap(:new.name);
if :new.gender='1' then
:new.gender:='男';
elsif :new.gender='0' then
:new.gender:='女';
end if;
:new.age:=:new.age ||'岁';
End;
12:31:58 2 before insert on student
12:31:58 3 for each row
12:31:58 4 Begin
12:31:58 5 :new.name:=initcap(:new.name);
12:31:58 6 if :new.gender='1' then
12:31:58 7 :new.gender:='男';
12:31:58 8 elsif :new.gender='0' then
12:31:58 9 :new.gender:='女';
12:31:58 10 end if;
12:31:58 11 :new.age:=:new.age ||'岁';
12:31:58 12 End;
12:31:59 13 /触发器已创建已用时间: 00: 00: 00.01