student表(id number,age number,name varchar2(20))--这是表的结构
打算在修改一个表数据的时候把他的id一起打出了,用游标实现。。出错了 ,请问这样能不能实现,我是想这样做,可不知道是否有语法上的问题,谢谢,代码在下面:--限制行级触发器并指定修改某列才会触发触发器(年龄在23以上的修改名称..有点怪的例子)
create or replace trigger mytrigger
before update on student
for each row
when(old.age>23)
declare
v_rec student%rowtype;
cursor c is select * from student return student%rowtype for update;
begin
open c;
loop
fetch c into v_rec;
exit when c%notfound ;
end loop;
close c;
:new.name:='张三';
dbms_output.put_line('id'||v_rec.id||'年龄在23的都叫张三'); --这里显示下id号..
end;
update student set age=age+1;
select * from student;--期待高手指点..(初学)我新进论坛,没多少分。。分数是少了点。
打算在修改一个表数据的时候把他的id一起打出了,用游标实现。。出错了 ,请问这样能不能实现,我是想这样做,可不知道是否有语法上的问题,谢谢,代码在下面:--限制行级触发器并指定修改某列才会触发触发器(年龄在23以上的修改名称..有点怪的例子)
create or replace trigger mytrigger
before update on student
for each row
when(old.age>23)
declare
v_rec student%rowtype;
cursor c is select * from student return student%rowtype for update;
begin
open c;
loop
fetch c into v_rec;
exit when c%notfound ;
end loop;
close c;
:new.name:='张三';
dbms_output.put_line('id'||v_rec.id||'年龄在23的都叫张三'); --这里显示下id号..
end;
update student set age=age+1;
select * from student;--期待高手指点..(初学)我新进论坛,没多少分。。分数是少了点。
解决方案 »
- 关于oracle的job执行
- 写的存储过程报错,如何调试 找错?
- 在linux如何用C调用oracle以数组作为参数的存储过程,谢谢!
- =============update语句为什么要这么写啊?==========
- 请教full OUTER join 语法,怎样连接3个表?
- Oracle中字段类型为number型,能否设定它不能为负,不是在程序中。
- 表中有所有用户的服务操作.SERVERID,服务申请的时间怎么创建视图显示所有服务的最后服务申请
- 基于Oracle技术的www信息查询系统探讨~~~~~~~~散分
- vc ado访问oracle 存储过程
- 怎样清除以前的库在注册表里的项
- oracle 的错误
- linux 下 查看tns 等服务启动没的命令是怎样的?
请高手具体的给我说下。谢谢了。