Я попытался запустить свой SQL (в T-SQL) (я просто сгенерировал переменную), но я не могу заставить его работать.Что я хочу сделать: 1. Запустить большой SQL из программы 2. Большой SQL генерирует selct-SQL 3. Запустить сгенерированный sql как обычный выбор и получать данные как обычно.Я думал, что это можно сделать с помощью sp_executesql , но, похоже, в моем случае это неправильно.
То, что я пытаюсь сделать, выглядит следующим образом:
declare @sql varchar(max)
set @sql = 'select x, y from z'
exec @sql --this is the point where im stuck.
Я знаю, что это, должно быть, довольно простой вопрос, но я не смог найти то, что соответствует моей проблеме в Google.
Спасибо за вашу помощь!
Обновление Iрешил мою проблему с помощью sp_sqlexec (который больше не поддерживается, но работает так, как я хотел).
declare @sql varchar(max)
set @sql = 'select x, y from z'
exec sp_sqlexec @sql
Правильное решение - sp_executesql!(см. sp_sqlexec против sp_executesql ). Для моей проблемы было бы довольно много времени, если бы я "перестроил" все, что мог бы ее использовать.
Спасибо за вашу помощь, ребята!