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