我有一个查询正在生成进一步的查询,如下所示:
select 'exec uspd_thing "'||name||'"'
from sometable
产生的结果如下:
exec uspd_thing "name1"
exec uspd_thing "name2"
但是 isql 要求每个语句后都有一个“go”语句。
有一个选项可以改变命令终止符(-c),但新的终止符仍然需要出现在同一行。
关于如何做这种事情的任何建议/提示...我想我可以对结果进行后期处理以添加“go”行......
谢谢,克里斯
答案1
据我所知,ISQL 并不总是需要 go(或“;”,它同样可以作为终止符。T-SQL 命令可以在没有分隔符的连续行上分配,解析器将处理该问题。
R. Pods
答案2
尝试在结果中添加 go:
select 'exec uspd_thing "'||name||'"'||char(10)||'go'||char(10)
from sometable
答案3
通过 awk 的后处理选项如下:
awk '{print $0}; /exec / {print "go"}'