テーブルの定義情報(DDL)を出力するシェル
db2上の各テーブルの定義情報を出力する際、db2lookというコマンドを利用しますが、パラメータが多すぎて 正直、いちいち調べるのが面倒なため、shell化しました。下記を、コピペして、cshで実行してください。 なお、このシェルは、データベースの本体内で実行しないと動きません。
【例】 $ csh DB2LOOK.sh DB2ADMIN TABLE1 DB2DB DB2ADMIN ・・・ スキーマ名 TABLE1 ・・・ テーブル名 Db2DB ・・・ データベース名
# DB2LOOK.sh
!/bin/csh
source /home/develop/sqllib/db2cshrc
set TODAY=date +"%Y%m%d"
#
DB2 LOOKでテーブルの定義情報DDL
#
ソーステータベース定義
set SDBNAME=$3 # DDLファイルを格納するディレクトリ set WORKPATH=/home/db2user/ddl
if ($1 == "" || $2 == "" || $3 == "") then echo "Usage: csh $0 schemaname tablename databasename" exit(1) endif
echo "----- $0 START ----- \c " date
データベースに接続
db2 -v connect to $SDBNAME
DB2LOOK ユティリティ起動
db2look -d $3 -e -z $1 -t $2 -o $WORKPATH/$3.$1.$2_$TODAY.sql
echo "----- $0 END ------- \c "
db2 connect reset
db2 terminate
exit 0