描述:
以游标的形式列出指定表的分片信息。
语法:
ifx_ cursor(ifxconn, sql; k1:k2) |
通过sql语句从第k1到k2个分片中查询数据。 |
ifx_ cursor(ifxconn, table:where, f:alias,...; k1:k2) |
以游标的形式列出指定表的分片信息,根据where条件从表table的第k1到k2个分片中查询数据,f为表的列名,alias为其别名,where可省略,K1省略时,k2也省略。省略k2时,只查找k1分片。 |
ifx_ cursor(ifxconn, sql; ifxCursor:f2) |
通过sql语句查询数据,跟ifxCursor取同样的分片数据,f2分片字段,若省略则与ifxCursor分片表的分片字段同名。 |
ifx_cursor(ifxconn, table:where, f:alias,...; ifxCursor:f2) |
根据where条件从表table查询数据,f为表的列名,alias为其别名,跟ifxCursor取同样的分片数据,f2分片字段,若省略则与ifxCursor分片表的分片字段同名。 |
备注:
外部库函数,外部库的使用请参考《外部库使用指南》。
以游标的形式列出指定表的分片信息。
ifxconn |
ifxconn对象。 |
sql |
Sql语句。 |
table |
分片表名。 |
where |
条件,可省略。 |
f |
分片表的列名。 |
alias |
列名f的别名。 |
k1 |
分片k1,可省略。 |
k2 |
分片k2,可省略。 |
ifxCursor |
游标对应的分片。 |
f2 |
分片字段,可省略。 |
选项:
@o |
对排序不作要求。 |
@f |
要求有序。 |
@m |
多管道选项。 |
返回值:
游标
示例:
|
A |
|
1 |
=ifx_conn("jdbc:informix-sqli:192.168.0.3:9088/tpch:;DB_LOCALE=en_us.819;CLIENT_LOCALE=en_us.57372;NEWCODESET=GBK,8859-1,819;informixserver=tpch&user=informix&pwd=informix";"frag.txt") |
连接informix数据库。 |
2 |
=ifx_takefrag(A1) |
|
3 |
=ifx_cursor(A1,"select L_ORDERKEY,L_RETURNFLAG,L_LINESTATUS,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX from lineitem";2:3) |
通过sql语句从第2到第3个分片中查询数据。 |
4 |
=A3.fetch(10000) |
|
5 |
=ifx_cursor@o(A1,"lineitem":"L_LINESTATUS='F'","L_TAX":"tax",L_LINESTATUS;2:3) |
当L_LINESTATUS='F'时从表lineitem中的第2到第3个分片中查询数据,选项@o无序的查出L_TAX列,别名为tax,和L_LINESTATUS 列 。 |
6 |
=A5.fetch(10000) |
|
7 |
=ifx_cursor@o(A1,"select skip 0 first 30000 L_ORDERKEY,L_RETURNFLAG,L_LINESTATUS,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX from lineitem";A3:"l_orderkey") |
通过sql语句查询数据,跟A3 取同样的分片数据,分片字段为l_orderkey, 因为与A3分片表的分片字段同名, 则同样可以省略。 |
8 |
=A7.fetch(10000) |
|
9 |
=ifx_cursor@o(A1,"lineitem":"L_LINESTATUS='F'","L_TAX":"tax",L_LINESTATUS; A5:"l_orderkey") |
当L_LINESTATUS='F'时从表lineitem选项@o无序的查出L_TAX列,别名为tax,和L_LINESTATUS列,跟A5取同样的分片数据分片字段为l_orderkey,因为与A5分片表的分片字段同名,则同样可以省略。 |
10 |
=A9.fetch(10000) |
|