Oracleのselect文をシェル変数に代入する方法

Oracleのselect文をシェル変数に代入する方法

うまく動作するスクリプトがありますTOAD

SELECT max (ID)+1 from apps_details;

シェルスクリプトで実行しようとすると、次のエラーが発生します。

DB_CONNECT="XXXXX/XXXXX@XXXXXX"

echo "Inserting the DataBase"
/oravl01/oracle/12.1.0.1/bin/sqlplus -s $DB_CONNECT <<END
set head off
set feedback off
set pagesize 2400
set linesize 2048

ID_VAL=`SELECT max (ID)+1 from apps_details;`
exit
END
/pciuser/tools/jenkins/jenkins/scripts/Jenkins_Internal/Create_Jenkins_Container/InsertToDB.ksh[31]: syntax error at line 1: `(' unexpected

31号線行を参照しますが、ジョブをoravl01削除すると機能したため、問題が存在しないことがわかります。ID_VAL

正しい構文は何ですか?

ベストアンサー1

このコマンドは私にとって効果的でした。

DB_CONNECT="XXXXX/XXXXX@XXXXX"

ID_VAL=$(sqlplus -s $DB_CONNECT <<END
set head off
set feedback off
set pagesize 2400
set linesize 2048
SELECT max (ID)+1 from apps_details;
exit;
END
)

echo $ID_VAL

おすすめ記事