Realmente, se fosse só um SELECT a ser trazido, view é a opção, mas se
realmente tiver que ser em em modo programado - por exemplo, porque há
Ifs e muita lógica que é necessária, ou porque se quer centralizar o
processamento, ou ainda para se obter independência de bancos , a tela
sempre é a mesma e chama a procedure P_select, e há uma P_select para
cada banco em que o sistema pode rodar - aí isso se faz com FUNCTION
armazenada no banco Oracle,
http://asktom.oracle.com/~tkyte/ResultSets/index.html tem exemplos.

[]s

 Chiappa
--- Em oracle_br@yahoogrupos.com.br, José Resende Neto
<[EMAIL PROTECTED]> escreveu
>
> Adalberto,
> 
> pelo que entendi, parece que vc quer uma VIEW.
> Você poderia criar esta view no banco com a query desejada e depois
faria select nela como faz nessa SP do Firebird.
> É isso mesmo? Se você quiser documentação sobre VIEWS, dê uma olhada
no link http://www.psoug.org/reference/views.html
> 
> Espero ter ajudado.
> Neto.
> 
>   ----- Original Message ----- 
>   From: Adalberto de Sousa Monteiro 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Tuesday, July 25, 2006 4:53 PM
>   Subject: [oracle_br] SP Selecionavel, é possivel no Oracle ?
> 
> 
>   Boa tarde a todos do grupo,
>   Gostaria de saber se é possivel fazer o seguinte no Oracle 9i,
desenvolver
>   uma Stored Proced. Selecionavel ?
> 
>   Não sei se alguém aqui ja trabalhou com Firebird, mas nesse banco
existe a
>   possibilidade de vc montar uma SP que retorna resultado de um select
>   (exemplo logo abaixo).
> 
>   E para executar essa SP vc faz select * from nome_da_sp
> 
>   Isso faz com que todo o fonte do select e o processamento fique no
proprio
>   banco.
> 
>   Valeu pessoal
>   Adalberto.
> 
>   > CREATE PROCEDURE PROC_MOSTRUARIO_MUSICAS
>   > RETURNS (
>   >     INTERPRETE VARCHAR(50),
>   >     RANKING INTEGER,
>   >     MUSICA VARCHAR(100))
>   > AS
>   > BEGIN
>   >    FOR SELECT INTERPRETE.NM_INTERPRETE,
>   >               CASE
>   >                  WHEN ( (NOT MUSICA.FL_RANKING IS NULL) AND (
>   > MUSICA.FL_RANKING <> 99) ) THEN MUSICA.FL_RANKING
>   >                  ELSE ''
>   >               END RANKING,
>   >               MUSICA.DS_MUSICA
>   >          FROM TB_MUSICA MUSICA
>   >               INNER JOIN TB_INTERPRETE INTERPRETE ON (
>   > INTERPRETE.ID_INTERPRETE = MUSICA.ID_INTERPRETE)
>   >      ORDER BY INTERPRETE.NM_INTERPRETE, MUSICA.FL_RANKING,
>   > MUSICA.DS_MUSICA
>   >          INTO :INTERPRETE, :RANKING, :MUSICA
>   >    DO
>   >    BEGIN
>   >       SUSPEND;
>   >    END
>   > END
> 
> 
>    
> 
> [As partes desta mensagem que não continham texto foram removidas]
>






--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a