paraworld.MQL.query
Description
执行传入的MQL语句,并将结果返回
MQL语法类似于简化了的T-SQL。MQL必须以select、update、delete、insert into起始(目前只支持select)。
不区分大小字
保留关键字:
select top from where order by desc asc group in like is not null between and or case as when then over begin end inner join union all
支持的函数:
cast count max min avg sum isnull nullif charindex len str substring left right
语法与T-SQL相同
MQL特有函数:
Page(pageIndex, pageSize, order column):pageIndex是以1开始的页码,pageSize是每页的数据量,order column是排序字段与排序规则。Page函数只能用在最外层的select语句中;若已使用了Page函数,则不可再在where从句中指定order by语句。示例:取得当前所有在线用户,按用户创建时间倒序排序,并按每页10条数据分页,取得第一页的数据:select page(1,10,order by createDate desc), * from users where isOnline = 1
Parameters
Return XML
(1)若是select语句,则返回类似于下面的XML格式:
<msg xmlns="">
<list>
<param index="1">
<uid type="string">f5f3de7a-05b2-42a0-bd78-415a939020c2</uid>
<uname type="string">clayman</uname>
<createDate type="string">2008-5-5 7:44:11</createDate>
</param>
<param index="2">
<uid type="string">6ea770c6-92b2-4b2b-86da-6f574641ec11</uid>
<uname type="string">andy</uname>
<createDate type="string">2008-5-5 7:36:12</createDate>
</param>
<param index="3">
<uid type="string">8ec11316-bc2e-491d-8f18-667501687e69</uid>
<uname type="string">ParaEngine</uname>
<createDate type="string">2008-5-5 7:36:05</createDate>
</param>
</list>
<query type="string">
select page(1,3,order by createDate desc) uid,uname,createdate from users where createdate > '2008-1-1'
</query>
</msg>
(2)若是update、delete、insert语句,则返回类似于下面的XML:
<msg>
<isSuccess>true</isSuccess>
<query type="string">
update users set email = 'aaa@gmail.com' where uid = 'f5f3de7a-05b2-42a0-bd78-415a939020c2'
</query>
</msg>
(3)若发生异常,则返回类似于下面的XML:
<msg>
<errorCode>494</errorCode>
<query type="string">
select uid,uname,createdate from users wherer createdate > '2008-1-1'
</query>
</msg>
Tables
users
fields
Name |
Type |
Description |
uid |
GUID |
用户的唯一标识符 |
uname |
string |
用户名 |
createDate |
datetime |
注册时间 |
lastActivityDate |
datetime |
最后活跃时间 |
email |
string |
用户的电子邮箱地址 |
isOnline |
boolean |
当前是否在线 |
支持的MQL语句
select语句 |
支持 |
update语句 |
不支持 |
delete语句 |
不支持 |
insert语句 |
不支持 |
friends
fields
支持的MQL语句
select语句 |
支持 |
update语句 |
不支持 |
delete语句 |
不支持 |
insert语句 |
不支持 |
WorldUser
fields
支持的MQL语句
select语句 |
支持 |
update语句 |
不支持 |
delete语句 |
不支持 |
insert语句 |
不支持 |
Error Codes
当发生异常时,返回数据中会有一个“errorCode”节点,该节点记录了错误码。0:无异常 500:未知错误 499:提供的数据不完整 498:非法的访问 494:语法错误
Topic revision: r10 - 2008-09-25
- CaoYF