當前位置:首頁 » 編程語言 » 刪除關聯兩個表數據sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

刪除關聯兩個表數據sql

發布時間: 2022-04-01 02:18:57

『壹』 sql資料庫如何刪除關聯的三個表中數據

你可以先做個臨時表,看看臨時表的結果,這樣保證你自己解析的需求是否正確無誤先:
declare @t(流水號1 某類型);
insert into @t(流水號1)
select 流水號1 from A Left Join B on B.流水號1=A.流水號1
Left join C on C.流水號2=A.流水號1
where B.流水號1 is not null and C.流水號2 is not null
And 日期時間<='2013-11-31 23:59:59' and 付款方式<>'E'

--如果上面的流水號符合條件,就一起執行下面的語句
delete from A where 流水號1 in(Select 流水號1 From @t);
delete from B where 流水號1 in(Select 流水號1 From @t);
delete from C where 流水號2 in(Select 流水號1 From @t);

希望給幫到你,歡迎追問或留言。

『貳』 sql server 刪除多張表關聯數據 怎麼刪除

具體方法:
作為外鍵暫且叫它主表,Delete from Main Where id=@id
則要先刪除子表當中 Delete from Detail where MainId = @id
為了保證數據完整性,最好將上面的操作包含在一個事務中,如果兩個語句影響的行數都大於零,則提交,否則回滾。

『叄』 sql 刪除表數據,關聯別的表

三個表 表1 表2 表3
表1 表2 表3
id id id
time proce piece
刪除表1的id 表二和表3的數據也跟著刪除 ,在delphi中用sql語句 本人菜鳥,能詳細點么
現在有3個表,表1、表2.表3,其中1.2表間id和proce相連,表2.3中id與piece相連,現在要刪除表1中的一條記錄,同時要刪除表2.3中與表1相關聯的數據,我該怎麼做呢,最好給個例子

『肆』 如何用一句sql刪除兩個表中相關聯的數據(沒有外鍵)

為什麼一定要一句話呢?一個SQL語句不能同時刪除兩張表,除非通過外鍵級聯刪除或者觸發器,最正常的做法當然是寫成2個SQL語句,然後用一個Trans來保證數據一致性,如果非要用一個SQL語句,可以有一個變通方法,寫一側存儲過程,刪除兩張表,然後寫的一句SQL是執行這個存儲過程

『伍』 如何用一句sql刪除2個表中相關聯的數據(沒有外鍵)

用觸發器
CREATE TRIGGER TR_test ON a
FOR DELETE
AS
delete from b t
from deleted D
where t.id=D.id

測試方法如下

delete from a where id = 2
這樣b中的id=2的記錄就會被刪除了

『陸』 sql server資料庫怎樣同時刪除兩張表的數據

1、打開SQL Server 2008 並連接一個資料庫。

『柒』 sql 兩個表關聯刪除數據

刪除主-從表的記錄可以建立簡單存儲過程來實現:
CREATE PROCEDURE [存儲過程]
(
@Id VARCHAR(50)
)
AS
DELETE [子表] WHERE [關聯Id] = @Id
DELETE [主表] WHERE [Id] = @Id
GO

執行方法:EXECUTE [存儲過程] @Id

『捌』 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中怎麼刪除2張表中有關聯的數據信息

可以使用兩種方式
1:刪除子表數據,再刪除主表數據
2:如果主細表中建立了級聯刪除操作,直接刪除主表數據即可

『拾』 SQL 如何把兩個表相關聯的數據一同刪除

其實你這個問題最好用資料庫本身的外鍵解決。就是在子表建立指向父表的外鍵。當刪除主表數據時,只要加上delete語句加上 on cascade,所有子表引用的數據就刪除了。