- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 8 meses atrás por
Manoel872.
-
AutorPosts
-
12 de julho de 2010 às 9:20 pm #95016
Muca
ParticipanteBoa Tarde Pessoal,
Estou migrando o banco atual (Firebird) para Oracle, e no banco antigo grande parte das procedures retornam mais de uma linha, ou seja tenho um parâmetro de saida (S_RETORNO), e a medida o código vai sendo executado e um valor é atribuído a S_RETORNO, lanço um SUSPEND para que o valor seja adicionado na “tabela de saída” e continuo executando a procedure, exemplo:
BEGIN
.
.
.
S_RETORNO = 1;
SUSPEND;
S_RETORNO = 3;
SUSPEND;
S_RETORNO = 5;
SUSPEND;
.
.
.
ENDPor fim chamo a procedure com um select, exemplo:
SELECT S_RETORNO FROM MINHA_PROCEDURE;
e será retornado todos os valores atribuidos ao retorno na procedure.
TESTE
1
3
5No Oracle não encontrei nada parecido ainda, entao qual solução posso empregar para solucionar esse problema no Oracle???
É isso!!
Obrigado!!12 de julho de 2010 às 10:12 pm #95022burga
ParticipanteComece por aqui:
http://www.oracle-base.com/articles/9i/ … ions9i.php
http://www.databasejournal.com/features … Oracle.htm
Se quiser saber mais, faça uma busca sobre “table functions”…
12 de julho de 2010 às 10:18 pm #95023Muca
ParticipanteValeu pela resposta burga
Ja estou dando uma olhada nos sites que voce passou,
mas fica a dúvida, só consigo esse tipo de retorno (tabela) em funções?!?!?Com Stored Procedures não é possivel???
E outra duvida, não terei posteriormente problemas em chamar funções dentro de procedures e vice-versa?!?!?
Obrigado!!
12 de julho de 2010 às 10:28 pm #95024Muca
Participante[quote=”burga”:5g9s16x7]Comece por aqui:
http://www.oracle-base.com/articles/9i/ … ions9i.php
http://www.databasejournal.com/features … Oracle.htm
Se quiser saber mais, faça uma busca sobre “table functions”…[/quote]
Valeu pela resposta burga
Ja estou dando uma olhada nos sites que voce passou,
mas fica a dúvida, só consigo esse tipo de retorno (tabela) em funções?!?!?Com Stored Procedures não é possivel???
E outra duvida, não terei posteriormente problemas em chamar funções dentro de procedures e vice-versa?!?!?
Obrigado!!
12 de julho de 2010 às 10:52 pm #95029burga
ParticipanteA diferença simples entre procedures e functions é que as funções possuem retorno… Se você quer um retorno, como um ResultSet, tem que usar função mesmo…
Em relação a utilização de funções e procedimentos, um dentro do outro, não vejo problema algum.
12 de julho de 2010 às 11:01 pm #95031Muca
Participante[quote=”burga”:3uth3c22]A diferença simples entre procedures e functions é que as funções possuem retorno… Se você quer um retorno, como um ResultSet, tem que usar função mesmo…
Em relação a utilização de funções e procedimentos, um dentro do outro, não vejo problema algum.[/quote]
Blz burga…
Quanto a chamada de funções e procedimentos ja tive problemas quando precisei migrar para o SQLServer.
mas de qualquer forma meu problema principal tem solução.
Obrigado!
e até a proxima!!
13 de julho de 2010 às 12:15 am #95035Manoel872
ParticipanteVocê pode criar um type no oracle trabalhar utilizando o type e depois fazer um select cast no seu type retornando um resulset.
Att,
Manoel Jr.
-
AutorPosts
- Você deve fazer login para responder a este tópico.