Есть ли способ запросить код, сгенерированный в результатах? - PullRequest
0 голосов
/ 11 июля 2019

Я сгенерировал куски кода и объединил его в одну строку, которая хранится во временной таблице.Есть ли способ запустить эту строку кода без копирования-вставки результатов в запросе?

Я пытался использовать set и exec для чтения кода, однако он возвращает только сохраненное строковое значение и не запускаетсяфактический код.

Во временной таблице ## steg4 я сохранил строку кода, которую я собираюсь запустить.Я пытался:

declare     @cmd    varchar(max)
begin 
    set @cmd = 'select string from ##steg4'
    exec (@cmd)
end 

Однако, он не читает его как код, а только как текстовую строку результата.Есть ли способ сделать так, чтобы он читал строку кода, хранящуюся в ## steg4, и выводил новый результат на основе этого кода?

Я надеюсь, что есть способ прочитать код, не имеявыполнить ручную работу (скопировать сгенерированный код, сохраненный в ## steg4).

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Спасибо за отзыв. Мне все еще не удалось заставить его работать, используя ваши предложения, я вместо этого подправил исходный код и получил ответ, который хотел:

declare @cmd varchar(max)
begin 
    set @cmd = (select string from ##steg4)
    exec (@cmd)
end 

Видимо, скобка отсутствовала в операторе выбора.

С уважением, Александр

0 голосов
/ 11 июля 2019

Примерно так:

declare @cmd varchar(max);

selecct @cmd = string
from ##steg4;

exec sp_executesql @cmd;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...