Я хотел бы удалить данные из нескольких таблиц с одинаковыми условиями (предложение where) для каждого оператора удаления.
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 значения. Это не разрешено, если вложенный запрос следует за =, !=, ‹, ‹= , >, >= или когда вложенный запрос используется как выражение.
Пожалуйста, посоветуйте, спасибо.