我有一个sybase程序,可以打印如下数据:print'Hello World'。
如何将该文本转换为shell脚本。换句话说,shell脚本如何从数据库的控制台读取?
答案 0 :(得分:1)
你可以通过几种不同的方式做到这一点。如果您有正在运行的脚本文件,请执行以下操作以指定输出文件:
isql -U username -P password -S servername -i Inputscript.name -o outputfile.name
它将运行脚本,并将结果输出到-o
要在脚本中“以交互方式”运行isql,可以在shell脚本中执行以下操作:
isql -U username -P password -S servername -b << ENDSQL >> outputfile.name
set nocount on \*stops displaying rows affected count*\
go
select some, data from table
go
ENDSQL
您还可以使用上面的示例将查询结果设置为变量:
myvar = `isql -U username -P password -S servername << ENDSQL
sp_my_procedure
go
ENDSQL`
一些笔记。如果您正在执行SQL语句,并且将在其他处理中使用结果(例如,不仅仅是尝试打印它们),您可能希望在SQL中set nocount on
以防止受影响的行数打印,并使用-b标志,用于防止打印标题。