Chinaunix首页 | 论坛 | 博客
  • 博客访问: 558630
  • 博文数量: 45
  • 博客积分: 931
  • 博客等级: 准尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-17 13:27
文章分类

全部博文(45)

文章存档

2013年(6)

2012年(15)

2011年(23)

2005年(1)

分类: DB2/Informix

2011-11-28 23:02:01

一种直观的方法,是将DB2命令的结果保存到一个文件之中,然后再从文件之中解析所需要的结果。但是对于


某些只有一个结果的语句这样做未免有一些繁琐了。

db2 create table tbl1(id int not null primary key, name char(20))

下面是简单的方法:
  1. CMD="db2 connect to srcdb"
  2. CMD2="db2 select distinct name from tbl1 where NAME='${myname}' "
  3. MYNAME2=`${CMD} | $CMD2 | head -4 |tail -1 | awk '{print $1}'`
  4. echo $MYNAME2

或者如下sh脚本:
  1. myname="MyName"
  2. db2 connect to srcdb
  3. CMD="db2 -t "
  4. COUNT=`${CMD} <<EOF | grep 'labstr' | awk '{print $1}'
  5. connect to srcdb;
  6. select count(name), 'labstr' from tbl1 where NAME='${myname}';
  7. EOF`
  8. echo $COUNT

  9. if [ $COUNT -eq 0 ]
  10. then
  11.     echo "Insert a ROW in the table.";
  12.     db2 "INSERT INTO TBL1(id,name) VALUES((select case when count(*) = 0 then 1 else max(id) + 1 end from tbl1), '${myname}')"
  13. else
  14.     echo "${count} row(s) with the name ${myname} already exists.";
  15. fi

阅读(6664) | 评论(1) | 转发(2) |
0

上一篇:神秘数

下一篇:AIX的一些性能监控的工具

给主人留下些什么吧!~~

小小小毛驴2011-11-30 23:42:36

( ^_^ )不错嘛