在Shell脚本中执行sql

时间:2019-01-09 05:28:40

标签: linux sh

我是刚开始编写shell脚本。我想从connectdatabase并执行一个简单的查询。这是我正在尝试的

. /home/oracle/db_env.sh
sqlplus system/*****
select * from dual;

但是当我执行此脚本时,我什么也没得到。当我退出sqlplus时 我得到

bash: db.sh: line 3: syntax error near unexpected token `from'
bash: db.sh: line 3: `select * from dual;'

请指导我如何做。

1 个答案:

答案 0 :(得分:0)

问题在于,一旦您的“ sqlplus system / ****”执行完毕,它将进入sqlplus命令提示符,下一行“ select * from dual;”。不会由bash传递到该sqplus应用程序提示符,而是由bash直接执行。

您可能需要以下建议:

https://stackoverflow.com/a/10278103/2002557

具体如下:

/home/oracle/db_env.sh:

sqlplus -s <<EOF system/*****@<host name>/<db name>
select * from dual;
select something from somwhere;
# etc.
EOF