ifx_cursor()

阅读(376) 标签: 游标, 列出分片信息,

描述:

以游标的形式列出指定表的分片信息

语法:

ifx_ cursor(ifxconn, sql; k1:k2)

通过sql语句从第k1k2个分片中查询数据

ifx_ cursor(ifxconn, table:where, f:alias,...; k1:k2)

以游标的形式列出指定表的分片信息,根据where条件从表table的第k1k2个分片中查询数据,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)