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