如何在SQL * Plus中执行存储在变量中的查询

时间:2017-04-26 07:18:23

标签: sql oracle unix sqlplus ksh

有没有办法通过变量将查询传递给SQL * Plus?

我知道SQL * Plus能够执行如下文件:

sqlplus user/pass@db @filename

在我试图做的kornshell脚本中:

query="select * from dual;"
sqlplus user/pass@db $query

1 个答案:

答案 0 :(得分:2)

可能有解决办法,但我可以使用以下方法实现相同的目标。

[oracle@myserver Desktop]$ $ORACLE_HOME/bin/sqlplus -s jay/passsword@db <<! 
select * from dual; 
exit 
!


D
-
X

更新,您可以将返回的结果存储在变量中,如下所示。

query="select * from dual;"
var=$($ORACLE_HOME/bin/sqlplus -s jay/pass@db <<!
set pages 0
set head off
set feed off
$query
!
);