シェルスクリプトでSQL発行
基本中の基本だが、シェルスクリプトからsqlplus経由でSQLを発行する関数を書いたのでメモしておく。
#################### # 引数で渡されたSQLを発行し、結果を RESULT_SET 変数に格納します。 # [引数] # ・発行するSQL # [前提] # 下記の通り変数が設定されていること。 # ・ORACLE_USER_ID: OracleのユーザID # ・ORACLE_USER_PWD: 上記ユーザのパスワード #################### execQuery() { # 引数で指定されたSQLを発行し、結果を変数 RESULT_SET に格納 RESULT_SET="`sqlplus -S -L "${ORACLE_USER_ID}/${ORACLE_USER_PWD}" << EOF set heading off set echo off set pagesize 0 set trimspool on ${1}; quit EOF`" # 終了ステータスの設定 [ -z "`echo "$RESULT_SET" | grep "ORA-[0-9]*:"`" ] }