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. :)