Sybase/isql/Transact-SQL-如何在同一行终止sql

Sybase/isql/Transact-SQL-如何在同一行终止sql

我有一个查询正在生成进一步的查询,如下所示:

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"}' 

相关内容