执行 SELECT INTO 时获取 SQL 错误代码



我正在RPGLE中做一个select into。它在开发中运行良好,但在部署到生产环境时开始给我一个 SQL 错误。SQL 错误是:

-579(对象类型对象名称 当函数或过程的定义未指定此操作时尝试读取数据)。

请注意,表1(也为此请求更改,添加了一个字段,并与程序一起移至生产)仅在以下语句中使用,未在 F-spec 中声明。

尝试在开发环境中重新创建它,但没有运气。此程序从多个程序调用,但它们不会为这些程序创建作业日志。调用堆栈始终在开头具有存储过程(始终从 SP 调用程序)

我认为这可能与调用程序中的某些设置有关。

Exec Sql Select WHS                            
           into :WHS1                         
           from Table1
           Where Company = :COMP
             and WHS = :WHSE;                     

此程序从多个存储过程调用。其中一些有Contains SQL

CONTAINS SQL意味着该函数可能包含一些SQL,但它不会通过SQL读取或写入存储在数据库中的任何数据。示例包括 SET。在存储过程中CONTAINS SQL,如果过程或其调用的过程尝试使用 SQL 读取数据库,则会失败。如果它没有 CONTAINS SQL ,则默认情况下存储过程将占用MODIFIES SQL DATA,并且不会失败。

相关内容

  • 没有找到相关文章

最新更新