+ -
当前位置:首页 → 问答吧 → 再问下shell和sql的问题

再问下shell和sql的问题

时间:2011-03-23

来源:互联网

http://bbs.chinaunix.net/thread-1805282-1-1.html
这贴中的第2种方法,我已经实践过可以了。
我的问题是:我想写个脚本或小工具,用来 测试 初始化库的初始化数据是否正确。
比如 某表的数据量是否正确,主键是否正确等,我需要检查的表数大概有几十张,测试用例的量还是很大的
所以如果按上面这么写,脚本的量非常大,我不知道能否优化下,就是说:
一条测试用例,一条sql语句的结果存在 一个变量里
VALUE1=`sqlplus -S /nolog <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
conn u_test1/iamwangnc
select count(*) from tab1;
exit
EOF`
VALUE2=`sqlplus -S /nolog <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
conn u_test2/iamwangnc
select count(*) from tab2;
exit
EOF`
VALUE3=`sqlplus -S /nolog <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
conn u_test3/iamwangnc
select count(*) from tab3;
exit
EOF`


比如以上3个变量,能否用一段就实现呢?

作者: 天蝎之寂   发布时间: 2011-03-23

我的产品有5个不同库,每个库每张表检查的用例又不止一条,如果按上面这样去写,完全写不过来的,那这个脚本将很大很大的吧..............帮帮我吧

作者: 天蝎之寂   发布时间: 2011-03-23

加上第4种方法不就行了,写个循环,把变数放进变量里:

for VAR in test1 test2 test3; do
  VALUE=`sqlplus -S /nolog <<EOF
  set heading off feedback off pagesize 0 verify off echo off numwidth 4
  conn u_$VAR/iamwangnc
  select count(*) from tab2;
  exit
EOF`
done

作者: seeLnd   发布时间: 2011-03-23

热门下载

更多