Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kino!

parâmetro de procedure array numérico

Recommended Posts

Olá Senhores, Duas dúvidas de PL/SQL, a primeira: É possível declarar um argumento na assinatura de uma procedure com um tipo que seja array numérico? Tipo...CREATE OR REPLACE PROCEDURE nome_procedure (id NUMBER, nome VARCHAR2, varios_numeros_tem_que_um_array NUMBER)IS BEGIN END;/ segunda, qual a síntaxe correta? Obrigado! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que se você criar um type e usar este na chamada funciona.

 

Eu não faria assim , usaria a chamada por um varchar2 , separado por ; e criaria o array na SP , motivo

a chamada poderia ser feita de qualquer front end , com um tipo ela fica exclusiva do Oracle.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ih ai camarada Motta,Veja bem não tenho experiência em Oracle, mas adoro um bom debate, e pel experiência que tenho com outro bd´s e front end´s tb acho a melhor solução.Receba um VARCHAR delitado por ; ou @| por exemplo e trate isto em sua sp.Tenho mais vivência com outros banco de dados e esta estratégia sempre funciona msm que você tenha de trartar a string delimitada na sua sp. pois qq front end consegue passa este tipo de parâmetro sem "trankilis".S não ajudou espero não ter atrapalhado. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif t+

Acho que se você criar um type e usar este na chamada funciona.Eu não faria assim , usaria a chamada por um varchar2 , separado por ; e criaria o array na SP , motivo a chamada poderia ser feita de qualquer front end , com um tipo ela fica exclusiva do Oracle.

Compartilhar este post


Link para o post
Compartilhar em outros sites

querendo fazer ...

 

 

create or replace type tp_param is varying array of number;

 

na sp

 

cretae or replace proc01 (matriz in tp_param) is

begin

for i in 11..length(matriz) do

begin

dbms_output.put_line(matriz);

end;

end;

 

detalhe , não testei

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.