Select no pl/sql

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
caioamante
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sex, 25 Set 2009 8:34 am
Localização: Caçapava - Sp
Caiovisk

Amigos, pesquisei algumas coisas porém não encontrei uma resposta exata então decidi postar minha duvida.
Estou desenvolvendo um sistema para faculdade... e decidi criar tudo no banco via pl/sql... então criei as movimentações de sistema, as inclusões, exclusões e alterações... todos esses estarão ligados a um botão ... agora minha duvida ficou por conta das consultas... se eu criei procedures para todos exemplo... sp_inclui_item,sp_altera_item,sp_delete_item... como faço no caso do sp_consulta_item que retornaria um valor... qual parametro que eu amarraria vom o field para trazer o valor... estou em duvida mesmo... pois não consegui entender o funcionamento ... se alguém puder me ajudar ..
atenciosamente
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

podes usar uma function que vai retornar um determinado valor, o qual você pode buscar no banco, ou pode usar um parametro de saida, do tipo OUT para retornar um valor na sua procedure.
caioamante
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sex, 25 Set 2009 8:34 am
Localização: Caçapava - Sp
Caiovisk

pode me dar um exemplo ... de procedure com tipo out... eu nunca fiz com o out...valeuuu
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Na declaração da procedure você informa o parametro como out

Selecionar tudo

precedure prc_teste (p_retorno out number (10)) is....
Dentro da procedure você atribui ao parametro p_retorno o valor que você deseja retornar , seja buscando em query seja passando na mão, sempre prestando atenção ao tipo do parâmetro , neste caso number (10).

Quando você chamar a procedure você pode testar se o parâmetro p_retorno é nulo ou não, ou pode simplesmente usar o valor dele se tu tem certeza de que ele nunca vai ser nulo.

Eu geralmente utilizo este tipo de parâmetro para retornar possiveis erros dentro de procedures.
caioamante
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sex, 25 Set 2009 8:34 am
Localização: Caçapava - Sp
Caiovisk

mas eu consigo retornar o resultado de um sql por aqui então correto?
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

sim..

na declaraçao de parametros você tem como tipar ele dando não so o tipo do conteudo mas tambem definindo se ele e in ou out.. sendo que out seria a definição para o teu caso.. parametro de saida.. e no caso de ser um conjunto de registro você pode retornar um cursos
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Ou isso ou, se você precisar retornar múltiplas linhas, provavelmente o ideal seria retornar um cursor, e trabalhar ele no seu frontend como um resultset, por exemplo, no Java se essa for sua interface de usuário.
caioamante
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 18
Registrado em: Sex, 25 Set 2009 8:34 am
Localização: Caçapava - Sp
Caiovisk

estou trabalhando com java mesmo... então consigo mandar para o java por exemplo .para aparecer um textfield ... uma informação que saiu pelo out da minha procedure ok?
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

sim..
quando chamar a proc atraves do callablestatement você podera usar o registerOutParameter para registrar o seu parametro de saida ou seja retorno da proc e então ter os registro dentro do java
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes