欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

求解一个存储过程 也许 触发器

更新时间: 2014-01-05 02:14:42 责任编辑: Author_N1

 

求解一个存储过程 或者 触发器
问题是这样的:
有表A,表B ,表A与表B有ID关联;(注:表A的一条记录与表B的多条记录有ID关联)
同时有表C,表A与表C有ID关联;
还有表D,表D与表与表C有字段关联;
现在需要在删除表A的一条记录时,同时删除表B的多条记录,并且还要删除表D的相关联的一条记录。
求大牛帮忙解决一下,这个存储过程或者是触发器怎么写,困恼了很久了。
--参考方法--
引用:
问题是这样的:
有表A,表B ,表A与表B有ID关联;(注:表A的一条记录与表B的多条记录有ID关联)
同时有表C,表A与表C有ID关联;
还有表D,表D与表与表C有字段关联;
现在需要在删除表A的一条记录时,同时删除表B的多条记录,并且还要删除表D的相关联的一条记录。
求大牛帮忙解决一下,这个存储过程或者是触发器怎么写,困恼了很久了。



delete from a where id='?';
delete from b where id in(select b.id from a,b where a.id=b.id and a.id='?');
delete from d where id in(select c.字段 from a,c,d where a.id=c.id and c.字段=d.字段 and a.id='?');

看看行不行? 写存储过程就更简单了,把这些放到begin 和end里面就可以了
写可以写触发器,但是本人建议不要写触发器,维护迁移麻烦。
--参考方法--
你第一条语句已经把pro_id给删除了,后面还想引用这个值,结果为空了,第二条语句怎么执行???
--参考方法--
引用:
你第一条语句已经把pro_id给删除了,后面还想引用这个值,结果为空了,第二条语句怎么执行???

+1
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:42
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7462/
本文WWW.DOC100.NET DOC100.NET版权所有。