yuki10 0 Denunciar post Postado Maio 3, 2006 Bom dia a todos!Sou completamente novo no uso do banco de dados oracle, sempre utilizei sql nas minhas aplicações... mas sabe como é né, a vontade do cliente é a vontade superior, então... rssBom, estou apanhando desde o comecinho... Criei uma tabela simples, e nem consigo compilar uma procedure para consultá-la! rsA minha tabela é TB_CLIENTE. Tem apenas dois campos, cdCliente number not null, dsCliente varchar2 not null. Tentei criar uma procedure assim:create or replace procedure "PR_OBTER_CLIENTE"(p_cdcliente IN number default null)isbeginSELECT * FROM TB_CLIENTE WHERE ((p_cdCliente is null) or (cdCliente = p_cdCliente));end;Quando tento compilar a procedure, aparece o erro:Compilation failed,line 5 (12:49:50)PL/SQL: ORA-00904: "CDCLIENTE": identificador inválidoAlguém pode me indicar onde está meu erro?Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 3, 2006 1) não deve existir esta coluna na tabela 2) SELECT * FROM TB_CLIENTE WHERE ((p_cdCliente is null) or (cdCliente = p_cdCliente)); esta sintaxe esta errada, em plsql você tem de trazer o conteudo de um select para 2.1) uma variavel select codcli into v_codcli from cliente where codcli = pcodcli; 2.2) para ler mais de uma linha utilize um cursor procure material sobre plsql em http://www.profissionaloracle.com.br/ Compartilhar este post Link para o post Compartilhar em outros sites
yuki10 0 Denunciar post Postado Maio 3, 2006 O que eu preciso, é do resultado com uma ou mais linhas.Acessei o site indicado, porém, não encontrei nenhuma referência ao que eu preciso. Você pode dar um exemplo de como usar cursor em uma procedure?Obrigado! 1) não deve existir esta coluna na tabela2) SELECT * FROM TB_CLIENTE WHERE ((p_cdCliente is null) or (cdCliente = p_cdCliente));esta sintaxe esta errada, em plsql você tem de trazer o conteudo de um select para 2.1) uma variavel select codcli into v_codcli from cliente where codcli = pcodcli; 2.2) para ler mais de uma linha utilize um cursor procure material sobre plsql em http://www.profissionaloracle.com.br/ Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 3, 2006 DECLARE VN_TOTAL NUMBER := O; BEGIN FOR R IN (SELECT VALOR_VENDAS FROM VENDAS) LOOP VN_TOTAL := VN_TOTAL + R.VALOR_VENDAS; END LOOP; DBMS_OUTPUT.PUT_LINE(VN_TOTAL; END; Apenas para demonstrar o uso de um cursor. Eu tenho um tutorial legal , me diz seu email que te envio. Compartilhar este post Link para o post Compartilhar em outros sites
yoshisd 0 Denunciar post Postado Maio 4, 2006 Manda pra yoshisd@gmail.com Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 4, 2006 foi. Compartilhar este post Link para o post Compartilhar em outros sites
yuki10 0 Denunciar post Postado Maio 4, 2006 meu e-mail é yuki10@bol.com.brmuito obrigado! DECLARE VN_TOTAL NUMBER := O;BEGIN FOR R IN (SELECT VALOR_VENDAS FROM VENDAS) LOOP VN_TOTAL := VN_TOTAL + R.VALOR_VENDAS; END LOOP; DBMS_OUTPUT.PUT_LINE(VN_TOTAL;END;Apenas para demonstrar o uso de um cursor.Eu tenho um tutorial legal , me diz seu email que te envio. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 4, 2006 foi também Compartilhar este post Link para o post Compartilhar em outros sites
Gennari 0 Denunciar post Postado Julho 7, 2009 Você poderia me enviar o tutorial tb...por favor! pgennari@gmail.com Compartilhar este post Link para o post Compartilhar em outros sites