在Shell脚本中执行oracle查询

在Shell脚本中执行oracle查询,oracle,shell,Oracle,Shell,请告诉我如何在shell脚本中执行oralce查询。我正在编写一个shell脚本,需要在shell脚本中执行oracle查询和脚本 这些线路的用途是什么 sql_file=sachin.sql cat <<!SQL > $sql_file select $1 from dual; exit; !SQL sql\u file=sachin.sql 猫 我想他们正在创建一个新的文件,但到底是什么呢!SQL它是多行字符串终止符(a)。使用的字母没有什

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

这些线路的用途是什么

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

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

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

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


PS:不确定这是什么shell,我的bash不喜欢感叹号,认为这是一个事件。

!SQL只是一个通知SQL语句结束的标记(这里是doc),我们可以使用任何标记,如EOF、ENDSQL或其他任何标记


但前提是第二个标记!SQL应该从行的第一列开始。

您能提供更多详细信息吗?我只在windows上使用SQLPlus来执行包含大量Oracle查询的批处理脚本。我使用的是ksh shell。这里有一个简单的问题,如果我们只想创建一个临时sql文件,那么我们不能使用touch创建一个文件,然后在以后使用cat附加查询吗