データベースの条件を使用してシェルスクリプトを作成する方法

データベースの条件を使用してシェルスクリプトを作成する方法

これを確認する条件と考えてください。

select count(*) from nm.table1 where column1 =true; 

これでデータベース(PostgreSQL)からインポートされ、IF THEN ELSE LOOPUnixで使用する必要があります。

それはまるで

if [ $count > 1]
then
  echo " Successful"
else
  exit
fi

ベストアンサー1

以下では、psqlを実行しているunixユーザーが "nm.table1"にアクセスできるpostgresqlアカウントを持っているとします。そうでない場合は、psqlに認証の詳細も提供する必要があります。

最良の方法は~/.pgpass認証の詳細を含むファイル。

いずれにしても、認証の問題が解決されると、psqlクエリからデータをインポートすることは、他のコマンドからデータをインポートするのと同じくらい簡単です。コマンドの置き換えタスクを実行します。

の場合、またはオプションを使用してヘッダーとフッターの印刷を無効にするか、オプションを使用してソートされていない印刷モード(つまり、出力を埋めるために余分な空白を印刷しない)を有効にしますpsql。もちろん、orオプションは、次のパラメータが実行されるSQLコマンドになることを示します。-t--tuples-only-A--no-align-c--commandpsql

count=$(psql -tAc 'select count(*) from nm.table1 where column1=true;')

if [ "$count" -gt "1" ] ; then
  echo " Successful"
else
  exit
fi 

おすすめ記事