@lcap/nasl
Version:
NetEase Application Specific Language
23 lines (21 loc) • 1.19 kB
TypeScript
declare namespace nasl.oql {
/**
* SQL数据查询
* @param sql 数据查询需要的 SQL
* @returns 返回查询结果列表
* 关于T的类型说明:
* 1. 如果查询字段均来自一个数据表,T为该数据表的类型
* 2. 如果查询字段来自多个数据表,那么T为匿名类型,包含所有查询字段, 如:{name: string, age: number}
* 在调用时,T可以不指定,平台会自动进行推断
*
* 优先使用数据库的查询和数据操纵能力,例如 JOIN、SUM、GROUP_BY 等
* 所有变量格式为:${variable},不能用''包裹,不能用函数处理。
* @example nasl.oql.query(`SELECT * FROM Student WHERE id = ${id}`)
* @example nasl.oql.query(`SELECT OrderProduct.*, Product.price as price FROM OrderProduct JOIN Product WHERE orderId = ${orderId}`)
* 可直接使用list查询,无需拼接成字符串
* @example nasl.oql.query(`SELECT * FROM Student WHERE id IN ${idList}`)
*/
export function query<T>(sql: string): List<T> | T;
}
/* 分页组件函数,用于分页 */
declare function PAGINATE<T>(list: List<T>, page: Integer, size: Integer): { list: List<T>, total: Integer; };