create table test (p_c varchar2(30));create trigger a_row_tri
before delete on A
for each row
begin
insert into test values(:old.C);
end;
/
create trigger a_tri
after delete on a
begin
update 表A set 表A.列B = Null where 表A.列B in (select p_c from test);
delete from test;
end;
/
before delete on A
for each row
begin
insert into test values(:old.C);
end;
/
create trigger a_tri
after delete on a
begin
update 表A set 表A.列B = Null where 表A.列B in (select p_c from test);
delete from test;
end;
/
解决方案 »
- 跪求,有木有搞电信业务的dba?
- ora-01034:oracle not available ora-27101:shared memory realm does not exist
- oracle 10.2.0.2的大BUG,怎样解决
- 求更新数据库前N条记录的语句
- 哪位好心人帮我一下,一个小问题,看了一会没明白!
- 数据库开发和java开发哪个好?
- 如何将ORACLE 9.2 升级到 ORACLE 9.4或更高一点的版本?有直接的升级包吗?
- 如何取一个记录集中的随机行记录?
- 虾米问问题了,大米们留步拉!:)))()
- create table a(a clob);为什么报错?
- 这种字符串如何update或insert
- 请教,使用VC和OLEDB for Oracle 调用存储过程,不能返回字符串值,如何解决?
after delete on 表A for each row
declare ss char(30);begin
ss:=:old.列C;
update 表A set 表A.列B = Null where 表A.列B = ss;
end
但是用了临时表,是否有其他更好的解决办法?