1
resposta

Passar vários arrays como parametro de procedure

Olá professor, tudo bem?

Passar vários arrays como parametro de procedure?

Thanks

1 resposta

Oi, tudo bem?

Desculpe a demora em te responder!

Para enviarmos várias arrays como parâmetros para uma procedure precisamos:

  • Inicialmente vamos criar uma tabela para cada array e também criar um registro que contenha todas essas tabelas:
CREATE TYPE t_array IS TABLE OF NUMBER;

CREATE TYPE t_arrays IS RECORD (
   array1 t_array,
   array2 t_array,
   array3 t_array
);
  • Por fim, precisamos informar esse registro como parâmetro para a procedure:
CREATE PROCEDURE minha_procedure (p_arrays IN t_arrays) IS
BEGIN
   -- código da procedure aqui
END;

Para mais informações a respeito deste tema, recomendo o artigo abaixo. As informações estão em inglês então , caso queira traduzir para o português basta clicar com o botão direito do mouse e selecionar a opção ""Traduzir para o português".

Aproveito para informar que o curso "Oracle PL/SQL: procedures, funções e exceções" foi atualizado e ganhou uma nova versão que pode ser acessada clicando neste link.

Todavia, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!