¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Guía para crear y utilizar procedimientos almacenados con múltiples parámetros de salida

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 15 Vistas
0
Cargando...

Estimados Expertos,

He revisado muchos tutoriales en la web sobre cómo crear un procedimiento almacenado. Entiendo que para usar un procedimiento, la sintaxis es "Llamar nombre_del_procedimiento (parámetros de entrada)". Pero no he encontrado ningún ejemplo apreciable de un procedimiento almacenado que tenga múltiples parámetros de salida. ¿Podrían darme un ejemplo de un procedimiento sin parámetros y cómo usar (llamar/manejar los parámetros de salida)? ¿Pueden los parámetros de salida ser de tipo tabla/vista?

Cualquier ayuda sería muy apreciada.

Gracias de antemano.

-Adithya

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Hola Adithya,

1. La tabla de salida es válida para el mismo ámbito del script donde se llama al SP, al igual que los parámetros de salida de un módulo de función en ABAP, puedes reutilizarla como una tabla local más tarde dentro del ámbito del script donde llamas al SP con un parámetro de entrada y luego retienes la salida en una tabla local y la usas más adelante en el script. Entonces, sí, los datos de la tabla se pierden después de la ejecución del SP y no se almacenan en ningún lugar a menos que los escribas en una tabla.

2. De manera similar, puedes pasar el parámetro de salida singular de un SP almacenando la salida en una variable local dentro del mismo ámbito del script y pasar la variable local como entrada a otros procedimientos almacenados habilitados para entrada si es necesario.

Saludos,
Abhi

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

@abhishek.hazra. Muchas gracias por una respuesta rápida y útil. Entendí que podemos pasar múltiples salidas usando una tabla. Pero una pequeña duda.

1. ¿Se almacenará esa tabla de salida en nuestro esquema como cualquier otra tabla creada por el usuario o se perderá después de que termine la ejecución del procedimiento?

2. Si solo tenemos una única salida de tipo de dato estándar (como varchar/número, etc.) del procedimiento, ¿cómo manejarlo o usarlo más tarde en nuestros otros procedimientos?

Gracias de antemano

-Adithya

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Adithya,

Como has mencionado correctamente, puedes declarar los parámetros de salida de un procedimiento almacenado como tipo de tabla para una salida de varios campos.

A continuación se muestra un ejemplo:

CREATE PROCEDURE "ZSP_OUTPUT" (


IN "PRODUCTION_HOUSE" NVARCHAR (4),
OUT "OUTPUT" TABLE
(
 SITE NVARCHAR(4),
 ARTICLE NVARCHAR(18)
)
) 
	LANGUAGE SQLSCRIPT
	SQL SECURITY INVOKER 
	READS SQL DATA AS
BEGIN
 
 OUTPUT = select DISTINCT SITE, ARTICLE from "PRODUCTION_HOUSE" 
 WHERE "PRODUCTION_HOUSE" = :PRODUCTION_HOUSE;
END;

Aquí paso un número de sitio de producción como entrada y recibo las tiendas relacionadas con ese sitio de producción y todas las combinaciones de artículos con la tienda.

A continuación se muestra la tabla de salida del procedimiento almacenado.

Espero que esto ayude 🙂

Saludos,
Abhi

outtab.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?