행위

Ksh db2 insert sql result

DB CAFE

thumb_up 추천메뉴 바로가기


건수 처리

db2 -m "insert into test values(1)" | grep "Number of rows affected" |awk '{print $6}' | read V_COUNT

echo $V_COUNT

KSH 전체

  • fork 적용
  • awk print
  • read var : $var로 변수입력 됨
  • 언더바 처리 안됨? $DR = '+'로 처리
  • 파라메터 받기 ${#}
#!/bin/ksh

if [ ${#} -ne 3 ]
then
    echo "use parameter :ex) ./SH_SUBUL_JOB.ksh JOBNAME SRC_TABLE day_list_2018.txt"
    exit 255
fi

echo "dw subl db $1 $2 $3 converting..."

HOME=/home/mig_adm

DR='_'
JBNAME=$1
TBNAME=$2
DAY_TXT=$3

funcall () {

echo Z#$TBNAME

cat $HOME/CYKIM/$DAY_TXT | while read var ; do db2 -v connect to mgsdw user mig_*** using ****1234; db2 "CALL MIG_ADM.MP0_JOB_SWITCH_ON('$JBNAME','Z#$TBNAME$DR$var');"; db2 -mvf $HOME/CYKIM/Z#$TBNAME$DR$var.SQL |grep "Number o
f rows affected" |awk '{print $6}' | read V_COUNT;db2 "INSERT INTO MIG_ADM.MIG_SUBL_LOG (JOBNAME,TABLE_NAME,TGT_TABLE_NAME,PART_DT,INS_ROWS) VALUES ('$JBNAME','$TBNAME','Z#$TBNAME$DR$var','$var','$V_COUNT')"; db2 "CALL MIG_ADM.
MP0_JOB_SWITCH_OFF('$JBNAME','Z#$TBNAME$DR$var');"; done

 echo "job completed..."
}

fork () {
  funcall &
}

fork
child_pid="$!"
wait "$child_pid"