Sou novo em store procedure e estou tentando criar um store procedure simples para ler da tabela. Estou usando 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;
Estou recebendo o erro abaixo ao executá-lo.
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
Não consigo descobrir o que estou fazendo errado ou como consertar. Agradeço alguns conselhos de especialistas. Obrigado
Atualização 28/11/2024 consegui contornar o erro fazendo 1 função que é criar. Obrigado
Este erro é específico para sua configuração de subsistema Db2-for-Z/OS. A descrição do código de erro está aqui
Resumindo, significa que você está tentando usar alguma funcionalidade que ainda não está habilitada para seu subsistema Db2 de destino.
Fale com seu DBA do Db2-for-Z/OS para saber mais sobre o nível de compatibilidade (parâmetro do sistema APPLCOMPAT) configurado para seu subsistema de destino e qual funcionalidade está habilitada para esse subsistema.
Com essas informações, consulte o Db2 Knowledge Centre para Db2 para Z/OS para obter a versão exata especificada pelo nível de compatibilidade.
O DBA também pode habilitar um nível de compatibilidade mais alto se for um subsistema de teste, o que pode permitir que seu procedimento seja compilado e executado.