¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Guia para criar e utilizar procedimentos armazenados com múltiplos parâmetros de saída

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

Caros Especialistas,

Tenho revisado muitos tutoriais na web sobre como criar um procedimento armazenado. Entendo que para usar um procedimento, a sintaxe é "Chamar nome_do_procedimento (parâmetros de entrada)". No entanto, não encontrei nenhum exemplo significativo de um procedimento armazenado que tenha múltiplos parâmetros de saída. Poderiam me dar um exemplo de um procedimento sem parâmetros e como usar (chamar/manipular os parâmetros de saída)? Os parâmetros de saída podem ser do tipo tabela/vista?

Qualquer ajuda seria muito apreciada.

Desde já, obrigado.

-Adithya

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

3 Respuestas

0
Cargando...

Olá Adithya,

1. A tabela de saída é válida para o mesmo escopo do script onde o SP é chamado, assim como os parâmetros de saída de um módulo de função em ABAP, você pode reutilizá-la como uma tabela local mais tarde dentro do escopo do script onde você chama o SP com um parâmetro de entrada e então retém a saída em uma tabela local e a utiliza mais tarde no script. Portanto, sim, os dados da tabela são perdidos após a execução do SP e não são armazenados em nenhum lugar a menos que você os escreva em uma tabela.

2. Da mesma forma, você pode passar o parâmetro de saída singular de um SP armazenando a saída em uma variável local dentro do mesmo escopo do script e passar a variável local como entrada para outros procedimentos armazenados habilitados para entrada, se necessário.

Saudações,
Abhi

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

@abhishek.hazra. Muito obrigado por uma resposta rápida e útil. Entendi que podemos passar múltiplas saídas usando uma tabela. Mas uma pequena dúvida.

1. Será que essa tabela de saída será armazenada em nosso esquema como qualquer outra tabela criada pelo usuário ou será perdida após a execução do procedimento?

2. Se tivermos apenas uma única saída de tipo de dado padrão (como varchar/número, etc.) do procedimento, como lidar ou usá-la posteriormente em nossos outros procedimentos?

Obrigado antecipadamente

-Adithya

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

Olá Adithya,

Como mencionaste corretamente, podes declarar os parâmetros de saída de um procedimento armazenado como tipo de tabela para uma saída de vários campos.

Segue um exemplo:

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;

Aqui passo um número de site de produção como entrada e recebo as lojas relacionadas com esse site de produção e todas as combinações de artigos com a loja.

Segue a tabela de saída do procedimento armazenado.

Espero que isso ajude ?

Saudações,
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?