Запрос таблицы для списка, а затем использовать этот список в операторе выбора

У меня такая же ошибка, все было правильно, только я использовал тот же объект интерфейса оператора для выполнения и обновления базы данных. После разделения, то есть с использованием разных объектов интерфейса оператора для обновления и выполнения запроса, я решил эту ошибку. то есть избавиться от этого, не используйте один и тот же объект-оператор для обновления и выполнения запроса.

2
задан Terrance Jackson 26 February 2019 в 18:14
поделиться

1 ответ

Вы можете попробовать следующий подход:

-- Table
CREATE TABLE #ListOfTables (
   [TableName] varchar(max)
)
INSERT INTO #ListOfTables
   ([TableName])
VALUES
   ('Table1'),
   ('Table2'),
   ('Table3'),
   ('Table4'),
   ('Table5'),
   ('Table6'),
   ('Table7'),
   ('Table8'),
   ('Table9')

-- Statement
DECLARE @stm nvarchar(max)
SET @stm = N''

SELECT @stm = @stm + N'SELECT * FROM ' + QUOTENAME([TableName]) + N'; '
FROM #ListOfTables
/* 
-- Or using FOR XML PATH
SELECT @stm = (
   SELECT CONCAT(N'SELECT * FROM ', QUOTENAME([TableName]), N'; ')
   FROM #ListOfTables
   FOR XML PATH('')
)    
*/

PRINT @stm
EXEC sp_executesql @stm
0
ответ дан Zhorov 26 February 2019 в 18:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: