Informix首先选择250000然后选择表中的最后250000条记录

时间:2014-01-11 13:37:27

标签: informix cfml

我使用CFML脚本从Informix数据库备份CSV文件中的某些数据。问题是该表有很多记录286906和我的脚本超时(即使我没有设置),我能成功的最好的是260000

SELECT FIRST 260000
  APE1, APE2, CALLE, CODPOSTAL, DNI, FCADU, FENACI, LOCALIDAD, NOMBRE, NSS, PROV, TELEFONO
FROM
  mytable WHERE FCADU IS NOT NULL AND FENACI IS NOT NULL

有没有办法选择其余的260000然后剩下的? 我尝试过:

SELECT SKIP 260000 FIRST 520000
  APE1, APE2, CALLE, CODPOSTAL, DNI, FCADU, FENACI, LOCALIDAD, NOMBRE, NSS, PROV, TELEFONO
FROM
  mytable WHERE FCADU IS NOT NULL AND FENACI IS NOT NULL

但我得到Error Executing Database Query. A syntax error has occurred.

2 个答案:

答案 0 :(得分:1)

您可以使用Unload语句从数据库创建文件:

UNLOAD TO 'mytable.txt' SELECT * FROM mytable;

可能这在CFML环境中不起作用。因此,您可以创建一个卸载数据的存储过程。

请参阅unload statement in stored procedure

答案 1 :(得分:0)

您的脚本是超时还是数据库连接?从你的问题来看,它对我而言就像它不是即将结束的coldfusion模板,而是与数据库的cfquery连接。 cfquery标记有一个超时属性。然而,显然它不可靠,更好的选择是在coldfusion管理员的数据源的高级部分配置timout。

Charlie Arehart在此发表了关于此功能的博文: http://www.carehart.org/blog/client/index.cfm/2010/7/14/hidden_gem_in_cf9_admin_querytimeout