0

我有一个 sybase 程序,它打印如下数据:print 'Hello World'。

如何将该文本放入 shell 脚本。换句话说,shell 脚本如何从数据库的控制台读取?

4

1 回答 1

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 语句,并且打算在其他处理中使用结果(例如,不只是尝试打印它们),您可能希望set nocount on在您的 SQL 中防止打印受影响的行数,并-b在您的 isql 连接中使用标志字符串以防止打印标题。

于 2013-09-19T12:40:30.877 回答