请教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写,需要查资料了。