能否在FileNet及FEM编写的查询中添加SQL查询注释?
在FileNet FEM中为查询添加注释的可行方案
嘿,我之前也碰到过这个问题——FEM的查询编辑器确实不支持标准SQL的--单行注释或者/* */块注释,你试了双短横线没用完全是正常情况。不过针对大型查询的子查询归档需求,有几个实用的变通方法:
1. 利用FEM自带的元数据字段归档
这是最稳妥的方式,不用折腾查询语句本身:
- 给主查询起一个表意清晰的名称,比如
客户账单查询_含近30天筛选子查询 - 编辑查询时,在描述输入框里(就是基本信息那栏)详细写下每个子查询的作用、逻辑细节,甚至可以把带注释的完整查询文本粘贴进去。这个描述会和查询一起保存在FileNet里,后续打开查询就能直接看到注释。
2. 用无意义的逻辑语句模拟内嵌注释
如果一定要把注释写在查询语句里,可以用FNQL支持的恒真逻辑加字符串来模拟,比如:
SELECT d.* FROM Document d WHERE -- 直接写--会报错,换成下面的方式 (1=1) AND ('子查询1:筛选近30天创建的账单文档' IS NOT NULL) AND (d.DateCreated > CURRENT_DATE - 30) AND ('子查询2:仅包含已完成支付的账单' IS NOT NULL) AND (d.PaymentStatus = 'Completed')
注意:这种方法要保证注释部分的逻辑永远为真,不会干扰查询结果。适合给关键子查询加简短注释,但复杂查询用这个会让语句变啰嗦。
3. 外部文档关联归档
对于超大型的复杂查询,更推荐把带详细注释的查询版本(包括每个子查询的设计思路、业务背景)保存在外部文档里,然后在FEM查询的描述字段里标注这个文档的标识(比如文档名称、ID)。这样既不影响查询执行,又能完整归档所有注释信息,团队里其他人也能方便查阅。
另外提一句:FileNet的查询语言(FNQL)本身就不支持注释语法,所以FEM里的这个限制是底层语言决定的,不是编辑器的问题。
内容的提问来源于stack exchange,提问作者Andrea
相关产品推荐
相关产品推荐

