sintaxis sentencia salida procedimientos procedimiento parametros entrada ejemplo ejecutar cuál créate con almacenados almacenado sql stored-procedures db2 return-value

sentencia - procedimiento almacenado sql server select



Recuperar el valor devuelto del procedimiento almacenado de DB2 (2)

Tengo un bloque de código que se repite dentro de un procedimiento almacenado de DB2. Me gustaría separar esto en un nuevo procedimiento que pueda invocar con parámetros y hacer que devuelva un valor.

¿Cómo creo un procedimiento para devolver un valor y cómo invoco este procedimiento desde mi procedimiento original?


¿Qué tal un parámetro de salida en el proceso al que llamas desde tu proceso original? Llamar a un proceso se realiza a través del comando CALL. Está en el manual;)


Sí, un parámetro de salida es todo lo que tomó. Sin embargo, no pude encontrar la sintaxis de llamada correcta en el manual o en google.

Usted crea el procedimiento de esta manera:

CREATE PROCEDURE myschema.add(IN a INT, IN b INT, OUT c INT) BEGIN SET c = a + b; END

Y luego llámalo así (esto es lo que no pude entender):

DECLARE result INT DEFAULT 0; CALL myschema.add(10, 20, result); -- result == 30

Y luego la salida termina en la variable de result suministrada. También puede tener múltiples params OUT así como params INOUT .

Claro que parece obvio ahora. :)