シェルによるdb2データの抽出と更新
2022-01-08 01:17:05
私が見ているdb2チュートリアルは、「シェルでdb2データを抽出・更新する」です。db2データベースを扱うためのシェルプログラムで、シェルからdb2データを取り出して処理するものです。
#SQLテキスト定義
SQL="SELECT AAA, BBB, CCC FROM MYTBL1"
# SQLを実行する
SDATA=`db2 "$SQL"`。
# 返り値の決定
If [ $? -ne 0 ]。
では
#db2 が返すエラーメッセージを表示する
echo "$SDATA"
1番出口
フィ
#取得したデータを加工する。
echo "$SDATA" | sed -e '4,/^$/!d;/^$/d' |。
読みながら AAA BBB CCC
する
echo "AAA IS $AAA, BBB IS $BBB, CCC IS $CCC"
完了
# 取得したデータの個数
echo "$SDATA" | sed -n -e '/^$/{1,3d;n;s/[^0-9]*([0-9]*)[^0-9]*/1/;p;}' | read CNT
echo "選択されたデータのカウントは$CNT."です。
exit 0★db2データを更新し、更新結果を取得する。
SQL="UPDATE MYTBL1 SET AAA='2005',BBB='05',CCC='12'"
# SQLを実行する
SDATA=`db2 -a "$SQL"`。
#SQLCODEを取得する
echo "$SDATA" | sed -n -e 's/^. *sqlcode: \([-,0-9][0-9]*\). */1/p' | read SQLCODE
echo "Sqlcodeは$SQLCODE."です。
#SQLSTATEを取得する
echo "$SDATA" | sed -n -e 's/^. *sqlstate: \([-,0-9][0-9]*\). */1/p' | read SQLSTATE
echo "Sqlstateは$SQLSTATE."です。
# 更新された個数の取得(つまりsqlerrdの3番目の値)
echo "$SDATA" | sed -n -e '/sqlerrd/s/^. *(3) \([-,0-9][0-9]*\). */1/p' | read UPDCNT
echo "更新されたデータのカウントは$UPDCNT."です。
#sqlerrdの5番目の値を取得する
echo "$SDATA" | sed -n -e '/sqlerrd/{n;s/^. *(5) \([-,0-9][0-9]*\). *//1/;p;}' | read SQLERRD5
echo "Sqlerrd(5)は$SQLERRD5."です。
#SQLテキスト定義
SQL="SELECT AAA, BBB, CCC FROM MYTBL1"
# SQLを実行する
SDATA=`db2 "$SQL"`。
# 返り値の決定
If [ $? -ne 0 ]。
では
#db2 が返すエラーメッセージを表示する
echo "$SDATA"
1番出口
フィ
#取得したデータを加工する。
echo "$SDATA" | sed -e '4,/^$/!d;/^$/d' |。
読みながら AAA BBB CCC
する
echo "AAA IS $AAA, BBB IS $BBB, CCC IS $CCC"
完了
# 取得したデータの個数
echo "$SDATA" | sed -n -e '/^$/{1,3d;n;s/[^0-9]*([0-9]*)[^0-9]*/1/;p;}' | read CNT
echo "選択されたデータのカウントは$CNT."です。
exit 0★db2データを更新し、更新結果を取得する。
SQL="UPDATE MYTBL1 SET AAA='2005',BBB='05',CCC='12'"
# SQLを実行する
SDATA=`db2 -a "$SQL"`。
#SQLCODEを取得する
echo "$SDATA" | sed -n -e 's/^. *sqlcode: \([-,0-9][0-9]*\). */1/p' | read SQLCODE
echo "Sqlcodeは$SQLCODE."です。
#SQLSTATEを取得する
echo "$SDATA" | sed -n -e 's/^. *sqlstate: \([-,0-9][0-9]*\). */1/p' | read SQLSTATE
echo "Sqlstateは$SQLSTATE."です。
# 更新された個数の取得(つまりsqlerrdの3番目の値)
echo "$SDATA" | sed -n -e '/sqlerrd/s/^. *(3) \([-,0-9][0-9]*\). */1/p' | read UPDCNT
echo "更新されたデータのカウントは$UPDCNT."です。
#sqlerrdの5番目の値を取得する
echo "$SDATA" | sed -n -e '/sqlerrd/{n;s/^. *(5) \([-,0-9][0-9]*\). *//1/;p;}' | read SQLERRD5
echo "Sqlerrd(5)は$SQLERRD5."です。
関連
-
DB2 現在のユーザーモードを表示し、ユーザーを切り替える方法
-
DB2 SELECT ステートメントの高度な使用法
-
DB2 9 製品マニュアル オンラインリファレンスアドレス (http)
-
DB2アクティビティログフルの原因を分析し、DB2ログフルの方法と回避策を解決します。
-
SQL Server Connection Server を使用して DB2 Server にアクセスする
-
DB2 自動インクリメントフィールドの実装方法
-
段雲峰:DB2 9は、企業にとって役立つ3つのポイントを備えています。
-
DB2データベースの作成、テーブルのixfファイルのエクスポートインポートの例
-
DB2におけるデータの移動(I)
-
DB2 より一般的で実用的なSQL文のまとめ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン