duvida na hora de fazer uma procedure

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
wilke
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 46
Registrado em: Sex, 23 Nov 2007 9:26 am
Localização: porto velho -ro

pessoal gostaria de fazer uma procedure , que me amostre todos os produtos de um determinado fornecedor, se voces tiverem um exemplo de onde posso compreender melhor eu agradeço. pela ajuda de voces
:cry:
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, dá uma procurada aqui no fórum por PROCEDURE, que vai achar diversos exemplos e, faz a adaptãção pra tua consulta.
Renan Orati
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 90
Registrado em: Qui, 23 Ago 2007 3:40 pm
Localização: São José do Rio Preto - SP

Bão???

Eu não sei se entendi muito bem sua dúvida...
Mas criei um exemplo aqui pra tu ver se é +/- o que tu precisa... utilizando CURSOR...

segue o exemplo:

Selecionar tudo

CREATE OR REPLACE PROCEDURE MOSTRA_PRODUTOS(PFORID NUMERIC) is
  /* AQUI você DECLARA O CURSOR
  FILTRANDO OS PRODUTOS PELO PARAMETRO
  PFORID DA PROCEDURE */
  CURSOR SELPRO IS
    SELECT P.PRONOM, P.PROCOD, P.PROPRE
      FROM PRODUTOS P, FORNECEDOR F, PRODUTOSFORNECEDORES PF
     WHERE P.PROID = PF.PROID
       AND PF.FORID = F.FORID
       AND F.FORID = PFORID;
BEGIN

  /* AGORA você FAZ OQUE DESEJAR COM OS RESULTADOS...
  VOU MOSTRAR NA TELA COMO EXEMPLO!! */

  DBMS_OUTPUT.PUT_LINE('PRODUTOS ENCONTRADOS DESTE FORNECEDOR:');

  FOR RG IN SELPRO LOOP
    DBMS_OUTPUT.NEW_LINE;
    DBMS_OUTPUT.PUT_LINE('CÓDIGO: ' || RG.PROCOD);
    DBMS_OUTPUT.PUT_LINE('NOME: ' || RG.PRONOM);
    DBMS_OUTPUT.PUT_LINE('PREÇO: ' || RG.PROPRE);
    DBMS_OUTPUT.NEW_LINE;
  END LOOP;

END MOSTRA_PRODUTOS;
Só lembrando que para o DBMS_OUTPUT você deve setar o serveroutput:

Selecionar tudo

SET SERVEROUTPUT ON
flwww... espero ter ajudado!!!
Responder
  • Informação
  • Quem está online

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