Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Có thể xóa khỏi nhiều bảng trong cùng một câu lệnh SQL không?

Không, bạn cần chạy nhiều câu lệnh.

Vì bạn cần xóa khỏi hai bảng, hãy cân nhắc tạo bảng tạm thời gồm các id phù hợp:

SELECT U.Id INTO #RecordsToDelete
FROM Users U
   JOIN LinkingTable J ON U.Id = J.U_Id
...

Và sau đó xóa khỏi từng bảng:

DELETE FROM Users 
WHERE Id IN (SELECT Id FROM #RecordsToDelete)

DELETE FROM LinkingTable
WHERE Id IN (SELECT Id FROM #RecordsToDelete)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tên bảng trong SQL Server bắt đầu bằng dbo?

  2. FOR XML PATH (''):Bỏ qua các ký tự đặc biệt

  3. Đánh giá phần mềm - Stellar Repair cho MS SQL

  4. Cách bỏ Ràng buộc khóa ngoại trong Cơ sở dữ liệu SQL Server cho tất cả các bảng - Hướng dẫn SQL Server / TSQL Phần 72

  5. Làm cách nào để lấy danh sách tất cả các bảng trong cơ sở dữ liệu bằng TSQL?