使用SQL语句如何实现删除多个表的记录?
比如:如果删除栏目表下的一条记录,那么该栏目下对应的新闻,新闻表中的新闻也将删除,同时还有评论表中对应这些新闻的评论也将删除。用sql语句该怎么写?...
比如:如果删除栏目表下的一条记录,那么该栏目下对应的新闻,新闻表中的新闻也将删除,同时还有评论表中对应这些新闻的评论也将删除。
用sql语句该怎么写? 展开
用sql语句该怎么写? 展开
8个回答
展开全部
方法有三:
1.利用触发器。
2.添加外键关系,并设置级联删除
3.先删除评论,再删除文章,最后删除栏目,同时写在一条SQL语句中即可
假如要删除栏目id为1的所有相关信息
delete comment where articleid in (select articleid from article where categoryid=1) delete article where categoryid=1 delete category where categoryid=1
1.利用触发器。
2.添加外键关系,并设置级联删除
3.先删除评论,再删除文章,最后删除栏目,同时写在一条SQL语句中即可
假如要删除栏目id为1的所有相关信息
delete comment where articleid in (select articleid from article where categoryid=1) delete article where categoryid=1 delete category where categoryid=1
2015-07-10
展开全部
写个存储过程来实现,CardNo是自定义的数据类型;
参考如下例子:
CREATE PROCEDURE DelFixUser
@CardNo CardNo
AS
Declare @CarNo CarNo
select @CarNo=车辆号码 from FixCardIndexTable
where 卡号=@CardNo
Delete from AllCardIndexTable
where 卡号=@CardNo
Delete from FixCardIndexTable
where 卡号=@CardNo
Delete from FixCardEndDateTable
where 卡号=@CardNo
Delete from CardPassWordTable
where 卡号=@CardNo
Delete from UserCarInfoTable
where 车辆牌号=@CarNo
说明:删除一个固定用户记录,同时从AllCardIndexTable、FixCardIndexTable、FixCardEndDateTable、CardPassWordTable和UserCarInfoTable表中删除相应的记录。
参考如下例子:
CREATE PROCEDURE DelFixUser
@CardNo CardNo
AS
Declare @CarNo CarNo
select @CarNo=车辆号码 from FixCardIndexTable
where 卡号=@CardNo
Delete from AllCardIndexTable
where 卡号=@CardNo
Delete from FixCardIndexTable
where 卡号=@CardNo
Delete from FixCardEndDateTable
where 卡号=@CardNo
Delete from CardPassWordTable
where 卡号=@CardNo
Delete from UserCarInfoTable
where 车辆牌号=@CarNo
说明:删除一个固定用户记录,同时从AllCardIndexTable、FixCardIndexTable、FixCardEndDateTable、CardPassWordTable和UserCarInfoTable表中删除相应的记录。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的在删除的时候做个转向页面 这个页面时专门执行删除语句的,然后在这个页面多写几个SQL语句就行了 这个是最笨最简单的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
或者写一条sql 或者分着写三条 写一条就是要嵌套 很麻烦 那就写三条分着写 先删除评论 再删除新闻 接着删除栏目呗 如果是Oracle里 那就更好办了 用pl/sql直接找到这个表,直接删就可以了 不行再回滚 记得先备份哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用事务
一个表一个表删除。
先删除评论表
再删除新闻表
最删除栏目。
一个表一个表删除。
先删除评论表
再删除新闻表
最删除栏目。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询