当前位置: 首页 > 图文教程 > 数据库 > DB2 > 用shell抽取,更新db2的数据

DB2
DB2常用傻瓜问题1000问(四)
DB2常用傻瓜问题1000问(三)
DB2常用傻瓜问题1000问(二)
JSP如何连接DB2数据库
常见数据库系统比较 DB2数据库
DB2数据库的备份和恢复
DB2个人版(Linux)安装
IBM DB2 基本性能调整
DB2 UDB V8.1管理学习笔记(三)
DB2 UDB V8.1管理学习笔记(一)
DB2数据同步方面的经验
DB2编程序技巧 (十)
DB2编程序技巧 (九)
DB2编程序技巧 (八)
DB2编程序技巧 (七)
DB2编程序技巧 (六)
DB2编程序技巧 (五)
DB2编程序技巧 (三)
DB2编程序技巧 (一)
IBM DB2 日常维护汇总(九)

DB2 中的 用shell抽取,更新db2的数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 59 ::
收藏到网摘: n/a

正在看的db2教程是:用shell抽取,更新db2的数据。为工作需要而写的shell处理db2数据库的程序用shell抽取db2的数据,并进行处理。
#SQL文定义

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

#执行SQL

SDATA=`db2 "$SQL"`

#返回值判断

if [ $? -ne 0 ]

then

#显示db2返回的错误信息

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★更新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 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."