Chinaunix
标题:
SHELL怎样像游标一样对SQL查询结果集进行循环?
[打印本页]
作者:
Rawu
时间:
2005-05-26 18:34
标题:
SHELL怎样像游标一样对SQL查询结果集进行循环?
SHELL怎样像游标一样对SQL查询结果集进行循环?
比如 select A,B,C,count(1) AS D from table group by A,B,C
结果是
A B C D
----------
1 5 Q 3
2 6 W 3
3 7 R 4
4 8 T 5
现在如果想像游标一样一行一行的获取A,B,C,的值
再用这些值组合成命令运行,
知道所有行都处理完毕为止,那么 该怎么实现?
我的做法是先把结果集定向到一个文件
再用 while [ $# -gt 0] 作循环
分别用
a=`awk {print $1} file`
b=`awk {print $2} file`
c=`awk {print $3} file`
获取每行的变量值
但每个变量获取的却是整个列的值。
哪位DX 指教一下
作者:
dradhzn
时间:
2005-05-26 23:39
标题:
SHELL怎样像游标一样对SQL查询结果集进行循环?
#!/bin/sh
while read line
do
set $line
echo $1 $2 $3 $4
echo =do sth here===
echo =done, next line=
echo
done < urfile
作者:
随风漂
时间:
2005-05-27 08:56
标题:
SHELL怎样像游标一样对SQL查询结果集进行循环?
可是用使用awk和sh来完成,举例说明:
awk '{print "yourcode",$1,$2}' filename|sh
作者:
ldchope
时间:
2005-05-27 14:07
标题:
SHELL怎样像游标一样对SQL查询结果集进行循环?
#!/bin/sh
n=1
# export n
m=`awk 'END {print NR }' readme`
echo $m, $n
while [ $n -le $m ]
do
line=`awk '{ if ( NR == '"$n"' ) print}' readme`
a=`echo $line|awk '{print $1}'`
b=`echo $line|awk '{print $2}'`
c=`echo $line|awk '{print $3}'`
d=`echo $line|awk '{print $4}'`
echo "$a,$b,$c,$d"
n=`expr $n + 1 `
sleep 5
done
前一阵子写的,你应该用的上
作者:
Rawu
时间:
2005-05-29 02:11
标题:
SHELL怎样像游标一样对SQL查询结果集进行循环?
谢谢 各位 ,我先试试。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2