У меня есть таблица, в которой каждая запись имеет Table_Name (имя таблицы). Затем я использую Курсор, чтобы выбрать все имена таблиц, относящиеся к какой-либо записи в Курсоре. Затем я делаю WHILE для каждого имени таблицы в Курсоре, чтобы выполнить какую-то работу.
Я хочу знать, возможно ли решить эту проблему без использования курсора.
DECLARE tables_cursor CURSOR FAST_FORWARD FOR SELECT Table_Name FROM Some_Table WHERE ...
FETCH NEXT FROM tables_cursor INTO @Dynamic_Table_Name
WHILE @@FETCH_STATUS = 0
BEGIN
...
END
Имя каждой таблицы в курсоре. Я выполняю динамический SQL-запрос, например:
SELECT @sql = '
UPDATE dbo.' + @Dynamic_Table_Name + '
SET ...'
EXEC sp_executesql @sql, @params, ...
У меня такой вопрос: можно ли избежать использования курсора для решения этой проблемы?
К сожалению, дизайн наличия имени таблицы для ссылки на таблицу не может быть изменен, что я бы сделал немедленно, если бы мог.