sql删除多个表
① VB.net Access怎样用一条sql语句删除多个表的数据
你这个语句写的有点问题,delete语句后面直接应该接“from”,不应该接其他的东西,这是基本语法
② sql同时删除多表记录
你的问题说地不清楚。
首先,删除操作只对单独一张表有效的,除非用触发器,存储过程等程序控制。
如果是要两条语句一起执行,出错情况下回滚,可使用事务。
如果要在两个表都有同一个ID情况下才删除,可以使用存储过程,在删除前做下判断。
③ sql server数据库怎样同时删除两张表的数据
1、打开SQL Server 2008 并连接一个数据库。
④ SQL批量删除表的命令是
这个是别人提供的一个代码,是删除以test开头的表,自己更改下条件就可以了可以试试看
declare @name varchar(20)
while(exists(select * from sysobjects where name like 'test%'))
begin
select @name=name from sysobjects where name like 'test%'
exec ('drop table '+@name)
end
⑤ 使用SQL语句如何实现删除多个表的记录
或者写一条sql
或者分着写三条
写一条就是要嵌套
很麻烦
那就写三条分着写
先删除评论
再删除新闻
接着删除栏目呗
如果是Oracle里
那就更好办了
用pl/sql直接找到这个表,直接删就可以了
不行再回滚
记得先备份哦
⑥ sql的delete怎样同时删除多个表中的记录
具体操作步骤如下:
1、首先,打开SQL
Server ,连接到数据库,如下图所示,然后进入下一步。
⑦ sql语句多表删除问题
原则上,同意youyuan1688和ytbelwxg的方法. 5个表,如果每个表都和lm_company表的comid字段有直接主外键关系.那么ytbelwxg的方法是最佳方案; 仔细看了你的连接条件,猜想,并不是每个表都和lm_company表的comid字段有直接主外键关系.所以通过主外键级联删除的方案就不可行,那么就必须逐个表来删除,而且删除的顺序也有讲究,先删子表,再删主表. 本例中,删除的顺序应该是e,d,c,b,a; --1.删除e; sql1="delete from lm_newsinfo from lm_newsinfo as e, lm_company as a where a.comid=e.news_comid and a.comid=" + lblid.Text +";" --2.删除d; sql2="delete from lm_message from lm_company as a ,lm_Yuzhan as b ,lm_Bookinfo as c ,lm_message as d where a.comid=b.yuzhan_comid and b.yuzhan_id=c.Bkinfo_yuzhanid and c.Bkinfo_id=d.message_bookid and a.comid=" + lblid.Text +";" --删除c; sql3="delete from lm_Bookinfo from lm_company as a ,lm_Yuzhan as b ,lm_Bookinfo as c where a.comid=b.yuzhan_comid and b.yuzhan_id=c.Bkinfo_yuzhanid and a.comid=" + lblid.Text + ";" --删除b; sql4="delete from lm_Yuzhan where yuzhan_comid=" + lblid.Text + ";" --删除a; sql5="delete from lm_company where comid=" + lblid.Text + ";" --合并sql1,sql2,sql3,sql4,sql5 sql=sql1+sql2+sql3+sql4+sql5 --在你的客户端执行sql命令串即可
⑧ sql多表关联删除
删除多表关联数据的三种方法
1、级联删除
createtablea
(
idvarchar(20)primarykey,
passwordvarchar(20)notnull
)
createtableb
(
idintidentity(1,1)primarykey,
namevarchar(50)notnull,
userIdvarchar(20),
foreignkey(userId)referencesa(id)ondeletecascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insertavalues('11','aaa')
insertavalues('23','aaa')
insertbvalues('da','11')
insertbvalues('das','11')
insertbvalues('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了
deleteawhereid='11'
2、采用存储过程
A表:AID Aname 主健:AID
B表:BID BelongAID Bname 主健:BID,外健:BelongAID
C表:CID BelongBID Cname 主健:CID,外健:BelongBID
D表:DID BelongCID Dname 主健:DID,外健:BelongCID
其中:
A表和B表通过A.AID和B.BelongAID 创建了外健关系
B表和C表通过B.BID和C.BelongBID 创建了外健关系
C表和D表通过C.CID和D.BelongCID 创建了外健关系
3、采用触发器
删除Class表中的一条记录的同时删除该记录Class_No字段值在Student表中对应的记录。
CreateTriggerClass_delete
onClass
fordelete
as
begin
deletefromStudent
whereClass_No=(selectClass_Nofromdeleted)
end
⑨ sql多表删除
简单起见,可以用下面的方式删除所有在外键表中不存在的主键
delete
from
主表
where
PID
not
in
(select
Fid
from
外键表)
在程序中处理时,也可以将待删除的FId存储在一个变量中,再分别到外键表、主键表中删除。
如下的代码
declare
@Fid
int
select
@Fid=.....
begin
tran
delete
from
外键表
where
Fid=@Fid
delete
from
主键表
where
id=@Fid
commit
tran
⑩ “sql”怎么同时删除多个表中的全部数据
有两种办法可以删除表中的所有数据:
1、TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作。
语法 TRUNCATE TABLE name
参数 name 是要截断的表的名称或要删除其全部行的表的名称。
2、Delete from tablename where 1=1