在c#里如何编写删除sql中多个表中的数据的代码

 我来答
v_dan
2012-06-15 · TA获得超过223个赞
知道小有建树答主
回答量:194
采纳率:50%
帮助的人:118万
展开全部
---清空数据库db_test中所有用户表中的数据
use db_test
go
CREATE PROCEDURE
sp_DeleteAllData
AS
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'--禁用约束
EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'--禁用触发器
EXEC sp_MSForEachTable 'DELETE FROM ?'--清数据
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'--还原约束
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'--还原触发器
EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?'--检查表内数据
go
exec sp_DeleteAllData
--这样就会删除 db_test库中,所有表的数据,但是表结构仍然存在,操作相对危险,慎用。希望对你有帮助
kas68310
2012-06-10 · TA获得超过3637个赞
知道大有可为答主
回答量:1468
采纳率:33%
帮助的人:1165万
展开全部
几个表存在关联吧?这样的数据牵涉到数据的完整性.
常用方法:
1:在主表上建立on deleted的触发器,在删除主表数据时自动删除子表相关行.这样只需要调用删除主表的sql语句就可以.
2:使用(带有事务处理的)存储过程,在存储过程中将关联的表依次做数据删除,好处是程序只需要调用一次,增加事务处理的好处是保证删除的一次性完成,有一张表不成功则过程回滚.
删除的次递:从子往父,先删除外键数据,再删除主表.如果存在多级关联,逻辑一样.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
二牛资讯
2012-06-08 · TA获得超过736个赞
知道小有建树答主
回答量:631
采纳率:50%
帮助的人:562万
展开全部
直接把删除多个表数据的语句写在一起就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式