当前位置: 代码迷 >> Informix >> 请问informix中的foreach有关问题
  详细解决方案

请问informix中的foreach有关问题

热度:7216   发布时间:2013-02-26 00:00:00.0
请教informix中的foreach问题
我看到有的foreach后面加了一对大括号,有的没加,而且无论加没加那段语句之后都不用写分号?另外还有的foreache后面用的是XXX for的写法?请问3种有什么不同吗?
比如:
第一种
foreach{select a from table} 
  insert into table2 values(a); 
end foreach

第2种:
foreach 
  select a from table 
  insert into table2 values(a);
end foreach

第3种
foreach xxx for
  select a from table
  insert into table2 values(a);
end foreach




------解决方案--------------------------------------------------------
第一种应该是有问题,因为{}在informix里面是注释。

后面两种基本等价,区别在于第三种指定了游标的名称,如果在循环里面用不到游标名称,可以使用第二种.
------解决方案--------------------------------------------------------
informix 4gl中不用分割符合,因此;多余。正确写法如下:

declare aa_cur cursor for select item_name from table_name
foreach aa_cur into a
insert into table2 values(a)
end foreach

如果用纯sql写,需要查资料了。
  相关解决方案