关于触发器的又一问迫切等待中............................

andraw2002 2004-01-06 05:33:24
假设有两个表,结构如下:

ts表:
id atype ftype
1 1 1
2 2 2
3 3 3

ts_sub表:
p_id text
1 a
1 b
3 d

我想建一个触发器,要如何实现以下功能:

当我删除TS表中的某条记录时,如何把TS_SUB表中:P_ID=ID的记录也删除

例如:

我删除TS表中ID=1的记录,则触发器删除TS_SUB表中P_ID=1的所有记录

这能够实现吗???怎么实现?????如果能实现,请给出代码好吗??????????

...全文
35 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
andraw2002 2004-01-06
  • 打赏
  • 举报
回复
感谢你们的回复................
andraw2002 2004-01-06
  • 打赏
  • 举报
回复
旧值是不是代表我的语句:
delete from ts where id=2;
中的id呢??

另外,bzszp(www.bzszp.533.net) 的
delete from ts_sub where p_id=:old.p_id;
要改为:delete from ts_sub where p_id=:old.id;
yangguang1219 2004-01-06
  • 打赏
  • 举报
回复
old.id代表旧值
andraw2002 2004-01-06
  • 打赏
  • 举报
回复
old.id中的id必须在与ts表中的id是同名吗??
yantao14 2004-01-06
  • 打赏
  • 举报
回复
樓上的都可以的
andraw2002 2004-01-06
  • 打赏
  • 举报
回复
谢谢你们的回复,还有个问题,其中:
where p_id=:old.id
的old.id是什么意思呢,,,????????
zgh2003 2004-01-06
  • 打赏
  • 举报
回复
Create or Replace Trigger Del_Ts_Ts_sub
after delete on ts
for each row
Begin
delete from ts_sub
where p_id=:old.id;
end Del_Ts_Ts_sub;
zlqs 2004-01-06
  • 打赏
  • 举报
回复
create or replace trigger del_ts
after delete on ts
for each row
declare
-- local variables here
begin
delete from ts_tt where id=:old.id;
end del_ts;
bzszp 2004-01-06
  • 打赏
  • 举报
回复
create or replact trigger tr_ts
after delete on ts
for each row
begin
delete from ts_sub where p_id=:old.p_id;
end;
/

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧