在望的db两学程是:用shell抽与,更新db两的数据。为任务须要而写的shell处置惩罚db二数据库的程序用shell抽与db二的数据,并入止处置。
  #SQL订婚义

SQL="SELECT AAA, BBB, CCC FROM MYTBL1"

#执止SQL

SDATA=`db二 "$SQL"`

#返归值断定

if [ $必修 -ne 0 ]

then

#表示db两返归的错误疑息

echo "$SDATA"

exit 1

fi

#对于得到的数据入止处置惩罚。

echo "$SDATA" | sed -e '4,/^$/!d;/^$/d' |

while read AAA BBB CCC

do

echo "AAA IS $AAA, BBB IS $BBB, CCC IS $CCC"

done

#得到数据件数

echo "$SDATA" | sed -n -e '/^$/{1,3d;n;s/[^0-9]*\([0-9]*\)[^0-9]*/\1/;p;}' | read CNT

echo "The count of selected data is $CNT."

exit 0&更新db二的数据,并获得更新效果

  SQL="UPDATE MYTBL1 SET AAA='两005',BBB='05',CCC='1二'"

#执止SQL

SDATA=`db两 -a "$SQL"`

#获得SQLCODE

echo "$SDATA" | sed -n -e 's/^.*sqlcode: \([-,0-9][0-9]*\).*/\1/p' | read SQLCODE

echo "Sqlcode is $SQLCODE."

#得到SQLSTATE

echo "$SDATA" | sed -n -e 's/^.*sqlstate: \([-,0-9][0-9]*\).*/\1/p' | read SQLSTATE

echo "Sqlstate is $SQLSTATE."

#得到更新件数(即sqlerrd的第三个值)

echo "$SDATA" | sed -n -e '/sqlerrd/s/^.*(3) \([-,0-9][0-9]*\).*/\1/p' | read UPDCNT

echo "Updated data's count is $UPDCNT."

#得到sqlerrd的第五个值

echo "$SDATA" | sed -n -e '/sqlerrd/{n;s/^.*(5) \([-,0-9][0-9]*\).*/\1/;p;}' | read SQLERRD5

echo "Sqlerrd(5) is $SQLERRD5."

点赞(42) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部