免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3766 | 回复: 6
打印 上一主题 下一主题

shell中怎样将操作informix数据库的结果赋给一个变量? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-09 11:55 |只看该作者 |倒序浏览
我的目的是用shell对informix数据库进行查询,如果将查询生成一个文件是可以的,但如果要将查询的结果赋给一个变量,该如何写?
例如:
...
dbaccess AAA <<END >/dev/null
unload to temp.txt select count(*),sum(je) from djb
END
...

以上写法,可以对AAA数据库里面的djb表的总记录数和总金额统计并生成temp.txt文件。但如果我要将该查询结果赋值给变量的话,应该怎样写呢?
help me!!!!!!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-09-09 17:09 |只看该作者

shell中怎样将操作informix数据库的结果赋给一个变量?


  1. while
  2.     read aa bb
  3. do
  4.     echo  ${aa}    ${bb}
  5. done   <<-    EOF
  6.     `cat  temp.txt`
  7. EOF
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-09-09 18:13 |只看该作者

shell中怎样将操作informix数据库的结果赋给一个变量?

风云兄,多谢你的帮助!
但我的水平比较低,看不懂你写的代码,你的代码应该放在什么地方?能详细解答一下吗?谢谢!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-09-09 18:41 |只看该作者

shell中怎样将操作informix数据库的结果赋给一个变量?

temp.txt是你生成的文本文件,里面是否有这样的结果:
123  456.78
上述代码把他们分别读到aa和bb变量里了

论坛徽章:
0
5 [报告]
发表于 2004-09-13 10:57 |只看该作者

shell中怎样将操作informix数据库的结果赋给一个变量?

多谢风云高手的指点。但我还没有领悟。temp.txt文件内容:
123 456.78
我另外写了一段代码,如下:
while
    read aa bb
do
    echo  ${aa}    ${bb}
done   <<-    EOF
    `cat  temp.txt`
EOF
echo "$aa"
echo "$bb"
最后两句都是想测试一下变量aa、bb的值,可是aa和bb什么都没有。不知道在哪里出了问题?请再详解一下吧。

论坛徽章:
0
6 [报告]
发表于 2004-09-13 11:34 |只看该作者

shell中怎样将操作informix数据库的结果赋给一个变量?

可以用以下方法试试:
#!/bin/ksh
g[1]=`echo "select count(*),sum(je) from djb "|dbaccess AAA|tail +3|awk "{print $1}"`
clear
echo "${g[1]}"

说明:g[1]是个数组变量,将数据库显示的数据赋予这个变量;tail +3是显示select语句查询的结果.我做实验可行的.

论坛徽章:
0
7 [报告]
发表于 2004-09-14 11:27 |只看该作者

shell中怎样将操作informix数据库的结果赋给一个变量?

Yes!圣骑士的方法试过,OK了。谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP