求SQL语句

MOmo400 2014-03-27 10:14:46
表A

ID,UID ,CID

表B

UID,UName

求删除表AID=1的记录,同时删除表表B,即表A中ID=1的所有UID。把B对应的记录删除
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2014-03-27
  • 打赏
  • 举报
回复
如果你的id是主键 和 外键,比较好的办法是级联删除。 另外,也可以考虑用delete output 子句来输出被删除的id值
lzw_0736 2014-03-27
  • 打赏
  • 举报
回复

-用事務
begin tran
delete b from a inner join b on a.uid=b.uid where a.id=1   
delete from a where id=1
commit tran
--小F-- 2014-03-27
  • 打赏
  • 举报
回复
如果要求比较严格的话 最好还是用级联删除 也可以用触发器。
--小F-- 2014-03-27
  • 打赏
  • 举报
回复
delete b from a inner join b on a.uid=b.uid where a.id=1

delete from a where id=1
KeepSayingNo 2014-03-27
  • 打赏
  • 举报
回复
帮你写了一个触发器,你试试看,在A表上建立这个触发器

CREATE TRIGGER trigDelete
   ON  A
   instead of delete
AS 
BEGIN
	delete B from A inner join B on A.UID =B.UID WHERE A.ID=(select distinct ID from deleted)
END

27,579

社区成员

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

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