我有一个db2数据库,我想通过unix中的shell脚本执行以下操作:
(1)运行查询
SIGSEGV
(2)然后对于此查询返回的每条记录,我想以这种方式更新它:
SELECT MEMBERID FROM MEMBERS WHERE AGE<16
我已经知道如何连接到db2并运行SELECT并获取MEMBERID的值进行处理。但是,我无法弄清楚如何循环查询返回的多个记录的结果集。谁能帮助我如何去做呢? 如何在unix中循环遍历db2结果集以便可以完成此操作?
答案 0 :(得分:0)
我不使用db2,但在Oracle中它将是
me.googlemap
答案 1 :(得分:0)
为什么要循环结果集?
简单地:
UPDATE members
SET adult = 'N'
WHERE age < 16
SQL是一种基于集合的语言...循环遍历结果集,如果可能的话,应该避免为每一行运行更多的SQL。对于习惯用程序语言编写的人来说,这是一个常见的错误。在SQL,RBAR:Row-By-Agonizing-Row
中有一个值得记住的首字母缩略词Google SQL RBAR 了解更多信息......请务必查看此处的示例 RBAR vs. Set based programming for SQL