【问题标题】:Executing sql in shell script在shell脚本中执行sql
【发布时间】:2019-01-09 05:28:40
【问题描述】:

我是编写 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;'

请指导我如何操作。

【问题讨论】:

    标签: linux sh


    【解决方案1】:

    问题是一旦你的'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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-24
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 2017-03-27
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多