SQL 删除多表中一个关联的ID
图中有4个表表中有共同字段goods_no字段goods_no中有共同ID13300044问题是不用联级删除,在SQL中怎么用一个语句删除表一goods_no字段里面的I...
图中有4个表 表中有共同字段 goods_no 字段goods_no中有共同ID 13300044问题是 不用联级删除,在SQL 中怎么用一个语句 删除 表一 goods_no字段里面的ID 13300044 同时也将 表二,表三,表四,goods_no字段里面的ID 13300044的相关数据删除?或者怎么可以同时将 表一, 表二,表三,表四 goods_no字段里面的ID 13300044数据删除
展开
2个回答
展开全部
级联删除
或者触发器
或者触发器
追问
除了级联删除 触发器 存储过程 没其他办法了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关系数据库里,SQL动作查询语句,一句只能操作一张表且只能执行增、删、改其中一种动作。这是经过充分权衡所做出的最佳安排,它是由数据库管理系统内部机制所限死的,无法被绕过。
之所以这样限制其背后是有其非常充分的理由的,否则各大关系数据库厂商没理由不支持“一条动作查询语句同时操作多张表”这么好的想法!题主大可以死了这条心。
也正是因为这条限制,关系数据库推出了“事物”这个概念和功能,利用“事物”可以使得一系列操作,要么全部成功、要么全部失败,而不会发生因多个操作中部分成功、部分失败所带来的数据不正确状态。
多表操做在不使用触发器、级联删除\更新的情况下,只能老老实实针对每一张表分别编写动作查询语句,然后多语句一起按顺序分步执行,另外如果不允许多步操作因种种意外停留在中间状态的话,那么还须要在触发器或存储过程里调用“事物”。
之所以这样限制其背后是有其非常充分的理由的,否则各大关系数据库厂商没理由不支持“一条动作查询语句同时操作多张表”这么好的想法!题主大可以死了这条心。
也正是因为这条限制,关系数据库推出了“事物”这个概念和功能,利用“事物”可以使得一系列操作,要么全部成功、要么全部失败,而不会发生因多个操作中部分成功、部分失败所带来的数据不正确状态。
多表操做在不使用触发器、级联删除\更新的情况下,只能老老实实针对每一张表分别编写动作查询语句,然后多语句一起按顺序分步执行,另外如果不允许多步操作因种种意外停留在中间状态的话,那么还须要在触发器或存储过程里调用“事物”。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询