【问题标题】:Executing oracle queries in Shell Script在 Shell 脚本中执行 oracle 查询
【发布时间】:2009-11-26 05:52:30
【问题描述】:

请告诉我如何在 shell 脚本中执行 oracle 查询。我正在编写一个 shell 脚本,我需要在 shell 脚本中执行 oracle 查询和脚本。

这些行的目的是什么

sql_file=sachin.sql
cat <<!SQL > $sql_file
        select $1 from dual;
        exit;
!SQL

我认为他们正在创建一个新文件,但 !SQL 到底是什么

【问题讨论】:

  • 你能提供更多细节吗?我只在 Windows 上使用 SQLPlus 来执行包含大量 Oracle 查询的批处理脚本..

标签: oracle shell


【解决方案1】:

它是多行字符串终止符(here-doc)。使用的字母没有什么特别的含义,你也可以写成!ORACLE,它只是表示多行字符串的内容是SQL命令。

您的脚本所做的是创建一个名为 sachin.sql 的文本文件,其中包含在两个 !SQL 标记之间指定的内容。

PS:不知道这是什么shell,我的bash不喜欢感叹号,认为是事件。

【讨论】:

  • 我正在使用 ksh shell。这里有个快速的问题,如果我们只想创建一个临时 sql 文件,那么我们不能通过使用 touch 创建一个文件并稍后使用 cat 附加查询来做到这一点
【解决方案2】:

!SQL 只是一个用于通知 sql 语句结束的标记(here-doc),我们可以使用任何标记,例如 EOF、ENDSQL 任何东西。

但先决条件是第二个标记!SQL 应该从该行的第一列开始。

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 2020-12-04
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多