es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

DB2 CON RETURN en una Procedimiento Almacenado sencillo incluso genera “Cláusulas no válidas en la misma definición”.

En este momento estoy confundido porque incluso en la declaración más simple, WITH RETURN genera un error SQL [42613]: [SQL0628] Las cláusulas no son válidas en la misma definición.
La documentación https://www.ibm.com/docs/en/i/7.3?topic=codes-listing-sql-messages dice:
Las cláusulas especificadas para definir los atributos de una columna, una función fuente, un procedimiento, un disparador o un índice no son válidas. Ha ocurrido lo siguiente:

WITH RETURN se especifica para un cursor en una sentencia compuesta (dinámica).

¿Cómo se supone que debe invocarse esta declaración Select para un cursor sin ser considerado una declaración dinámica?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según la documentación, especificar WITH RETURN para un cursor en una declaración compuesta (dinámica) no es válido. Por lo tanto, para llamar a la declaración select para un cursor sin que se considere una declaración dinámica, la solución sería usar una declaración simple en lugar de una declaración compuesta. Por ejemplo:

    DECLARE rs1 CURSOR WITH RETURN FOR SELECT * FROM table1;
    

    Esta declaración simple evita el error generado por la cláusula WITH RETURN en una declaración compuesta. Además, es importante asegurarse de que los atributos definidos para columnas, procedimientos, disparadores e índices sean válidos y estén de acuerdo con la documentación para evitar errores adicionales.

Comments are closed.