通常、プログラミング言語からはDBアクセス用のドライバを使用してSQL文を発行するかと思いますが、
シェルスクリプトの場合はどんな感じに記述すればよいのでしょうか。
SQL自体は
DELETE FROM table_name WHERE ...
のような一文で完結する簡単なものになるかと思います。
DBはOracleです。
通常、シェル内でsqlplusコマンドを実行します。
そして、ヒアドキュメントを使ってSQL文を流し込むか、別ファイルにSQL文を用意しておいて実行します。
[参考URL] (sqlplus シェルスクリプトなどのキーワードで検索してみてください)
エラー処理の部分は以下が参考になります。
sqlplusでいいんじゃないでしょうか?
シェルスクリプト名を例えば、exec_sql.bashなどにして
#!/bin/bin/bash
sqlplus username/password@TNS_NAME @del.sql
と書いて実行するLINUX(UNIX?)のユーザーに実行権限を与えておきます。
$ chmod 777 exec_sql.bash
で、del.sqlの中に
DELETE FROM table_name WHERE ...;
exit;
と書いておいて実行すれば可能です。
sqlplusですね。
そして具体例もありがとうございます。
TNS_NAMEは何を意味するのでしょうか。
この回答には、ポイント不要です。
TNS_NAMEは、ORACLEの設定ファイルtnsnames.oraファイル内で規定されている
ORACLEへの接続の設定名です。
ORACLEのSIDがTESTだったら、大概TESTで設定されてると思います。
sqlplus system/manager@TEST
という感じです。
環境変数でORACLE_SIDが設定されていれば、そちらでもいいと思います。
詳しくは、SQL*PLUSのマニュアルでどうぞ・・・。
Oracleについては、全く初心者なので、沢山の情報ありがとうございます。
指針が定まったような気がします。
今後じっくり読ませていただきます。