我心编程

努力,奋斗!

shellファイル

<sql.conf>

# sql.conf
# ※実行するSQL文が記述されているファイルを指定
# ※ループさせる回数を指定

#DB CONNECT情報
DBNAME=PEGASUS;
DBUSER=d200700;
DBPASS=suz51uki;

#SLEEP時間
SLEEP_TIME=5;

# 実行するSQL文が記述されているファイルを指定
#SQL_BATCH_FILE="/web/server_root/dfs/007/bin/jp/pegasus/ws/select.bat";
SQL_BATCH_FILE="sql.sql";

# ループさせる回数を指定
SQL_LOOP_TIMES="3";

<sql.sh>

#!/bin/sh

# confファイルで指定したファイルを、指定した回数分ループさせて実行するプログラム

. ./sql.conf
# Variable Division
var=0
mun=0
# Internal Functions Division
##
#DB接続
#引数:void
db_login()
{
          # ログイン開始
          db2 -c +p -tv connect to ${DBNAME} user ${DBUSER} using ${DBPASS};
           __result=$?;                                                         # 結果セット
            return ${__result};
}

# SQLファイルを実行
#引数:なし

l_make_sql_run()
{
             while [ $var -lt ${SQL_LOOP_TIMES} ]
            do

                     #待機時間
                    sleep ${SLEEP_TIME};

                   # SQL実行
                    if [ -s ${SQL_BATCH_FILE} ]; then
                                 while read LINE
                                 do
                                           echo "$LINE"
                                           db2 -x $LINE;
                                            mun=`expr $mun + 1`
                                 done < ${SQL_BATCH_FILE}
                    else
                                 echo " Sorry file not found or there is no date in the file" 
                                 exit 1
                     fi  
                     var=`expr $var + 1`
                     echo " $var回数まで実行SQLの数:$mun"
           done
           return 0;
}

# Shell Division

# ログイン
db_login

# SQLファイル実行
l_make_sql_run

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭