![](/img/trans.png)
[英]Display more than one div or table content of same id from onchange value
[英]How to Delete a row from more than one table with one sql query where email id is same
Table1
- name
- phone
- age
- email
Table2
- name
- phone
- age
- email
我想刪除兩個表中具有相同 email 的那些數據。
SQL 服務器不支持多表刪除,所以需要兩條delete
語句(Larnu評論)。
但這仍然有點棘手,因為您需要跟蹤第一個語句刪除的電子郵件,以便您可以在第二個語句中使用它們。 我會推薦一個表變量,你可以用output
子句來提供:
begin transaction;
declare @deleted_emails table (email nvarchar(100));
-- or whatever datatype/length you use
delete from table1
output deleted.email into @deleted_emails
where exists (select 1 from table2 t2 where t2.email = table1.email)
delete from table2
where exists (select 1 from @deleted_emails d where d.email = table2.email);
commit transaction;
將代碼包裝在transaction
中使其具有原子性(即,兩個語句所做的更改一起提交或回滾)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.