SuperAPI AI 工具集

gliderecord-patterns

通用与其它

查看项目

更新于 10-16 01:50

技能介绍

用途:本技能整理 ServiceNow 中 GlideRecord 数据库操作的最佳实践,帮助编写高效、安全的查询与增删改查代码。

主要能力与用法: 单记录读取可用 gr.get("sys_id") 或按字段 gr.get("user_name", "admin");多记录查询使用 addQuery 叠加条件、orderByDesc 排序、setLimit 限制条数后 query() 并用 while(gr.next()) 遍历。复杂条件建议用 addEncodedQuery,如 "active=true^priority=1^assigned_toISEMPTY",比多次 addQuery 更高效。

性能要点:只取所需记录时始终调用 setLimit();取字符串用 getValue(),取引用字段显示值用 getDisplayValue()、取 sys_id 用 getValue();避免在循环内逐条 get,改用 addQuery("sys_id", "IN", userIds.join(",")) 单次查询;计数用 GlideAggregate 的 addAggregate("COUNT") 而非遍历累加。

增删改查:insert() 前先 initialize() 并 setValue;update() 前先 get();deleteRecord() 需谨慎;批量更新可在 query 后循环 setValue 再 update。

查询运算符包括 =、!=、>、<、>=、<=、CONTAINS、STARTSWITH、ENDSWITH、IN、NOT IN、ISEMPTY、ISNOTEMPTY。

安全与限制:批量操作可用 setWorkflow(false) 跳过业务规则;用 setLimit() 防止失控查询;校验 canRead()/canWrite() 权限;切勿信任用户输入,查询前须校验。资料未提供适用平台版本、性能实测数据与更多限制说明。