我的测试 DB2 存储过程出现一些错误

问题描述 投票:0回答:1

我是存储过程的新手,正在尝试创建一个简单的存储过程来从表中读取。我正在使用 IBM DB2 SQL。

--#SET MAXERRORS 0                                  
--#SET TERMINATOR ~                                 
SET CURRENT SQLID = 'SIWRO1'~                       
CREATE OR REPLACE PROCEDURE DWR000A.SELECT_PSID_RIZ(
  IN P_CONN INT                                     
 ,IN P_PLNN INT                                     
)                                                   
LANGUAGE SQL                                        
RESULT SETS 1                                       
READS SQL DATA                                      
BEGIN                                               
  DECLARE C1 CURSOR FOR                             
  SELECT PSID,                                      
         JOBINFO                                    
  FROM DWR000A.TEST                               
  WHERE CONN = P_CONN                               
  AND PLNN = P_PLNN;                                
  OPEN C1;                                          
END         
 ~                 
--#SET TERMINATOR ;
COMMIT;                                                 

执行时出现以下错误。

SQLERROR ON   CREATE    COMMAND, PREPARE   FUNCTION                      
RESULT OF SQL STATEMENT:                                                
DSNT408I SQLCODE = -4743, ERROR:  ATTEMPT TO USE A FUNCTION WHEN THE APPLICATION COMPATIBILITY SETTING IS SET FOR A PREVIOUS LEVEL                                                 
DSNT418I SQLSTATE   = 56038 SQLSTATE RETURN CODE                        
DSNT415I SQLERRP    = DSNHSM5R SQL PROCEDURE DETECTING ERROR            
DSNT416I SQLERRD    = 50  0  0  -1  1  2721 SQL DIAGNOSTIC INFORMATION  
DSNT416I SQLERRD    = X'00000032'  X'00000000'  X'00000000'  X'FFFFFFFF'
         INFORMATION                                                    

我无法弄清楚我做错了什么或如何解决它。我很感谢一些专家的建议。 谢谢

database db2
1个回答
0
投票

此错误特定于您的 Db2-for-Z/OS 子系统配置。 错误代码的描述是这里

简而言之,这意味着您正在尝试使用目标 Db2 子系统尚未启用的某些功能。

与 Db2-for-Z/OS 的 DBA 联系,了解为目标子系统配置的兼容性级别( APPLCOMPAT 系统参数),以及为该子系统启用了哪些功能。

有了这些信息,请参阅 Db2 for Z/OS 的 Db2 知识中心,了解兼容性级别指定的确切版本。

如果 DBA 是测试子系统,则它还可能启用更高的兼容性级别,这可能允许您的过程编译和运行。

© www.soinside.com 2019 - 2024. All rights reserved.