У меня есть запрос, который генерирует дополнительные запросы, например:
select 'exec uspd_thing "'||name||'"'
from sometable
Что производит это:
exec uspd_thing "name1"
exec uspd_thing "name2"
Но isql требует инструкции go после каждой инструкции.
Есть возможность изменить терминатор команды (-c), но новый терминатор все равно должен появиться в той же строке.
Любые предложения / советы о том, как делать такие вещи ... Думаю, я мог бы обработать результаты, чтобы добавить строки `` идти '' ...
Спасибо Крис
AFAIK ISQL не всегда требует перехода (или символа ";", который в равной степени будет служить терминатором. Команды T-SQL могут быть размещены в последовательных строках без разделителя, синтаксический анализатор справится с этим.
Р. Подс
Попробуйте добавить в результат go:
select 'exec uspd_thing "'||name||'"'||char(10)||'go'||char(10)
from sometable
Вариант постобработки через awk выглядит следующим образом:
awk '{print $0}; /exec / {print "go"}'