求助!帮忙写一条SQL语句。

mingsharp 2010-03-02 03:32:24
有两张相互关联的表:
1。drug_purchase(验收记录表) 2. storage(库存表)

两表共同的字段为DRUG_CODE(药品代码)

如何做到,在删除drug_purchase(验收记录表)其中一条数据时,也删除storage(库存表)里面相对应的数据。

新手,请大家多多关照!

...全文
128 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2010-03-03
  • 打赏
  • 举报
回复
引用楼主 mingsharp 的回复:
有两张相互关联的表:
1。drug_purchase(验收记录表) 2.  storage(库存表)

两表共同的字段为DRUG_CODE(药品代码)

如何做到,在删除drug_purchase(验收记录表)其中一条数据时,也删除storage(库存表)里面相对应的数据。

新手,请大家多多关照!

用触发器:
create trigger my_trig on drug_purchase for delete
as
delete from storage where DRUG_CODE = deleted.DRUG_CODE

create trigger my_trig on drug_purchase for delete
as
delete storage from storage where DRUG_CODE = deleted.DRUG_CODE
vivai2010 2010-03-03
  • 打赏
  • 举报
回复
引用 1 楼 happy_stone 的回复:
SQL codecreatetrigger tir_delon drug_purchasefordeleteasdelete storagefrom deletedwhere storage.DRUG_CODE=deleted.DRUG_CODE


触发器好
xiaoronghu 2010-03-03
  • 打赏
  • 举报
回复
楼上大家都说了,触发器
yingzhilian2008 2010-03-03
  • 打赏
  • 举报
回复
create trigger tir_delon drug_purchase for delete
as
delete from storage where storage.DRUG_CODE=deleted.DRUG_CODE


abodines 2010-03-03
  • 打赏
  • 举报
回复
5楼的开玩笑吧。。。。。
ryomae 2010-03-02
  • 打赏
  • 举报
回复
delete * from drug_purchase,storage
where (drug_purchase.DRUG_CODE=storage.DRUG_CODE)
yhtapmys 2010-03-02
  • 打赏
  • 举报
回复
楼主连开两贴 有钱人 还好一楼永恒 我也copy过来算了
=====================================
额 我的是Sql Server 2000的
打开企业管理器==》展开数据库里的表,右侧列表里找到drug_purchase表 ==》右键该表==》下拉菜单中选择“所有任务”下的“管理触发器”==》出现一个脚本编辑框,参考1楼的把代码写进去就OK了
inmyownsky1 2010-03-02
  • 打赏
  • 举报
回复
恩,支持下楼上的,顶
mail_ylei 2010-03-02
  • 打赏
  • 举报
回复
楼主把两张表的关系列出来 每个表的主键和外键说清楚

如果是主表和子表的关系可以考虑级联删除
快乐_石头 2010-03-02
  • 打赏
  • 举报
回复
create trigger tir_del on drug_purchase
for delete
as
delete storage from deleted where storage.DRUG_CODE=deleted.DRUG_CODE

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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