描述:
在数据源中查询指定的SQL,返回查询结果所组成的序表
语法:
db.query( sql {,args …}) |
|
db.query(A,sql{,args …}) |
针对A执行sql,返回结果集合并的序表, args可以是A的表达式。支持选项@idx。 |
db.query(call dfx(){,args …}) |
通过esProc-ODBC数据源db调用dfx文件,返回结果。 |
备注:
在数据源db中查询指定的SQL,返回SQL的查询结果所组成的序表,其中db为数据库连接。
sql中FROM后是单表时,自动设置结果序表的键
参数:
db |
数据库连接 |
sql |
需要查询的sql语句,如select * from table。 |
args |
sql中如果用到参数,就必须转入参数值,这里可以是直接写好的参数值,或者是查询定义的变量。注意,各个参数之间用逗号分隔。 |
A |
序列,对着A循环执行sql,一般是利用A计算出不同的args传给sql去执行 |
dfx |
网格文件。网格文件可使用相对路径或绝对路径,相对路径时相对于寻址路径。 |
选项:
@1 |
只返回符合条件的第一条记录, 返回成单值或序列(一个字段是单值,多个字段是序列) |
@i |
结果集只有1列时返回成序列 |
@d |
将numeric型数据转换成double型数据而非decimal型数据 |
@x |
结束时自动关闭数据库连接,仅限用connect连接的数据库连接 |
返回值:
由sql记录组成的序表
示例:
|
A |
|
1 |
=demo.query("select * from EMPLOYEE where DEPT=? ","Sales") |
|
2 |
=demo.query@1("select * from EMPLOYEE where DEPT=? ","Sales") |
[3,"Rachel","Johnson","F","New Mexico",1970-12-17,2010-12-01,"Sales",9000]; @1选项,返回查询得到的第一条记录的字段值组成的序列 |
3 |
[1,2,3,4] |
|
4 |
=demo.query(A3,"select * from EMPLOYEE where EID=?",~) |
|
5 |
=demo.query@i(A3,"select SURNAME from EMPLOYEE where EID=?",~) |
返回成序列 |
6 |
=demo.query@i("select DEPT from DEPARTMENT") |
返回成序列 |
7 |
=mysql.query@d("select * from ta") |
|
8 |
=connect("demo") |
|
9 |
=A8.query@x("select DEPT from DEPARTMENT") |
结束时自动关闭数据库连接 |
10 |
=myproc.query("call hsql(?)",10) |
hsql.dfx位于寻址路径中,内容如下: myproc为esProc-ODBC数据源名称。参数值为10。结果如下: |
11 |
=myproc.query("call G://hsql(?)",10) |
hsql.dfx位于G盘根目录内容如同上。结果同A10。 |
相关概念: