我有一个 sybase 程序,它打印如下数据:print 'Hello World'。
如何将该文本放入 shell 脚本。换句话说,shell 脚本如何从数据库的控制台读取?
我有一个 sybase 程序,它打印如下数据:print 'Hello World'。
如何将该文本放入 shell 脚本。换句话说,shell 脚本如何从数据库的控制台读取?
你可以通过几种不同的方式来做到这一点。如果您有正在运行的脚本文件,请执行以下操作以指定输出文件:
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 语句,并且打算在其他处理中使用结果(例如,不只是尝试打印它们),您可能希望set nocount on
在您的 SQL 中防止打印受影响的行数,并-b
在您的 isql 连接中使用标志字符串以防止打印标题。