Intersystems Cache提供接口以对缓存数据库运行SQL关系查询。尝试跨对象数据结构进行汇总查询时,速度非常慢,有时实际上是不可能的。
有没有一种方法可以使对象脚本方法以SQLProc类型返回数据行,而不使用性能低下的SQL查询。
我已经看过rset和%List对象,但是似乎无法连接所有点。
我可以返回一个定界的字符串,但是我需要能够将其作为存储过程公开给报表引擎(例如Crystal等)。
公开自定义查询结果的方法有几种,在本文的文档中都提到了它们:
http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_procedures
正如文档所建议的那样,首选方法是使用%SQL.CustomQuery类将每个自定义查询定义为一个单独的类。有关此方法的示例,请参见SAMPLES命名空间中的Sample.CustomResultSet。
您还可以在单个类中使用自定义Execute / Fetch / Close方法定义多个SQL查询。%Dictionary软件包在以“ Query”结尾的类中有很多这种方法的示例。您也可以在系统项目中搜索“%Query”以获取更多示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句