Ir para conteúdo

Arquivado

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

Renato_2009

Procedure no ORACLE

Recommended Posts

Olá, Boa Noite..!! http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Alguém pode me dizer como ficaria esta procedure no ORACLE..!! :huh:

 

drop procedure teste;
Create Procedure teste (par1 varchar(50), par2 varchar(50)) 
returning VARCHAR(50) as cod_cliente,VARCHAR(50) as nom_cliente;

define vcampo1 varchar(50);
define vcampo2 varchar(50);

foreach 
select cod_cliente,nom_cliente
into vcampo1,vcampo2
from clientes 
where cod_cliente between par1 and par2 
return vcampo1,vcampo2 WITH RESUME; 
end foreach; 
end procedure

 

 

Desde já, muito obrigado..!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites


Create Procedure teste (par1 varchar(50), par2 varchar(50))

returning VARCHAR(50) as cod_cliente,VARCHAR(50) as nom_cliente is

 

vcampo1 varchar2(50);

vcampo2 varchar2(50);

 

begin

 

for r in (

select cod_cliente,nom_cliente

from clientes

where cod_cliente between par1 and par2)

loop

vcampo1 := r.cod_cliente;

vcampo2 := r.nom_cliente;

end loop;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, Boa Tarde. http://forum.imasters.com.br/public/style_emoticons/default/coolio.gif

Tudo Bem?

 

Estou fazendo conforme você passou, porém está me retornando um erro. Veja: :unsure:

 

Create or Replace Procedure Consulta (par1 varchar2(50), par2 varchar2(50))
returning varchar2(50) as codcc,varchar2(50) as nome is 
vcampo1 varchar2(50);
vcampo2 varchar2(50);
begin 
for r in 
(select codcc,nome from centros where codcc between par1 and par2)
loop  
vcampo1 := r.codcc;  
vcampo2 := r.nome;
end loop;
end;

 

Erro:

 

ERROR na linha 12: PLS-00103: Encontrado o símbolo "end-of-file" quando um dos seguintes símbolos era esperado:

begin function package pragma procedure form

 

Muito obrigado pela atenção.. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que uma / no fim do script revolve.

 

returns /*em vez de returning*/
end;
/

Creio ser isto , fazer procedure em bloco de notas é f...

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá..!! http://forum.imasters.com.br/public/style_emoticons/default/coolio.gif

 

Consegui rodar da seguinte maneira:

 

create or replace procedure "Consulta"

(par1 IN VARCHAR2 default '50',

par2 IN VARCHAR2 default '50')

is

vcampo1 varchar2(50);

vcampo2 varchar2(50);

begin

for r in

(select codcc,nome from centros where codcc between par1 and par2)

loop

vcampo1 := r.codcc;

vcampo2 := r.nome;

end loop;

end;

 

E agora, como eu faço a chamada da procedure..!! http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

um abraço e muito obrigado .. http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Create or Replace Procedure Consulta (par1 in varchar2 , par2 in varchar2 , codcc out  varchar2  ,nome  out varchar2  )
 is 
vcampo1 varchar2(50);
vcampo2 varchar2(50);
begin 
for r in 
(select codcc,nome from centros where codcc between par1 and par2)
loop  
vcampo1 := r.codcc;  
vcampo2 := r.nome;
end loop;
end;

Creio ser isto , não tem retorno em procedure só function o retorno é por

parametro out.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amanhã te mando um material sobre plsql me mande seu email por MP.

 

Mas você pode baixar os manuais no site da Oracle é livre.

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.