首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Objectscript/Intersystems IRIS中正确执行包含过程且没有返回的查询

如何在Objectscript/Intersystems IRIS中正确执行包含过程且没有返回的查询
EN

Stack Overflow用户
提问于 2021-09-30 18:31:03
回答 1查看 47关注 0票数 0

我正在尝试从我的操作中执行一个存储过程,我获得最令人满意的结果的方式是通过以下调用:

代码语言:javascript
复制
Set tResult = ##Class(EnsLib.SQL.GatewayResultSet).%New()
Set tQuery = "EXEC MY_PROC @name = 'Jhon', @profession = 'carpenter'"
Set tSC = ..Adapter.ExecuteQuery(.tResult, tQuery)

该过程被执行(它从ODSE数据库中删除一个注册表,默认情况下不返回),但我得到一个错误,如

“错误#5023远程网关错误。语句没有返回结果集。”

我的行动就会停止。

我甚至尝试了ExecuteProcedure方法,但没有成功。

有人能在这方面帮我吗:)

Ps。我是这个堆栈上的新手,完全不是新手。D:

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-10-04 18:50:37

我发现了我的问题,我在这种情况下调用了错误的方法。在不返回的情况下调用过程或查询的正确方法是ExecuteUpdate()而不是ExecuteQuery()。此方法仅返回受影响的行数,并接收我们的过程命令。因此,示例如下所示:

代码语言:javascript
复制
Set tQuery = "EXEC MY_PROC @name = 'Jhon', @profession = 'carpenter'"
Set tSC = ..Adapter.ExecuteUpdate(.tNumberOfRowsAffected, tQuery)

Objectscript的官方文档有时就像一个黑暗的洞穴。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69397271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档