Я ищу способ перебора всех таблиц в базе данных.
Я до сих пор придумал это:
DECLARE @TableName VARCHAR(MAX)
DECLARE MyCursor CURSOR
FOR
SELECT
DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG ='MyDB'
AND TABLE_SCHEMA=N'dbo'
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT *
FROM @TableName
FETCH NEXT FROM MyCursor INTO @TableName
END
CLOSE MyCursor
DEALLOCATE MyCursor
Я получаю сообщение об ошибке в операторе while The @TableName tablevariable must be declared
(перевод с немецкого).
Я знаю, что должна быть переменная типа TABLE
в FROM @TableName
, но я не нашел, как это сделать, просто как объявить новые таблицы, которые мне не нужны.