ฉันต้องการลบข้อมูลออกจากหลายตารางที่มีเงื่อนไขเดียวกัน (where clause) สำหรับแต่ละคำสั่งลบ
delete from tblA where id in (select x.id from tblX x where name like N'%test%')
delete from tblB where id in (select x.id from tblX x where name like N'%test%')
delete from tblC where id in (select x.id from tblX x where name like N'%test%')
delete from tblD where id in (select x.id from tblX x where name like N'%test%')
มีวิธีประกาศรายการที่เก็บรหัสจากคำสั่ง select ด้านบนหรือไม่?
ฉันเหนื่อย:
declare @ids int
set @ids = select x.id from tblX x where name like N'%test%'
แต่มันบ่นว่า
แบบสอบถามย่อยส่งคืนค่ามากกว่า 1 ค่า สิ่งนี้ไม่ได้รับอนุญาตเมื่อแบบสอบถามย่อยตามหลัง =, !=, ‹, ‹= , >, >= หรือเมื่อแบบสอบถามย่อยถูกใช้เป็นนิพจน์
กรุณาแนะนำด้วยขอบคุณ