Jump to content

Sergio LF

Members
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

0 Comum

About Sergio LF

  1. Sergio LF

    Como dar acesso para debugar no Oracle ?

    Logar como system grant debug connect session to usuario grant debug any procedure to usuario
  2. qdo for mais de uma linha o retorno terá que ser um tipo table e nao um rowtype da tabela o rowtype seria pra retorna um registro da tabela você terá que criar um um tipo table Type cliente_tab Is Table Of cliente%Rowtype Index By Binary_Integer; create or replace PROCEDURE SP_LISTA_CLIENTE ( TAB_CLIENTE OUT CLIENTE_TAB ) AS CURSOR regClientes IS SELECT * FROM CLIENTE C ; v_i number(9); begin v_i := 1; for reg in regClientes loop v_i := v_i + 1; tab_cliente(v_i).IDCLIENTE := reg.idcliente; tab_cliente(v_i).NOMECLIENTE := reg.nomecliente; tab_cliente(v_i).DATACADASTRO := reg.datacadastro; end loop; end; se for muita informação, pode ser melhorado com bulk collection
  3. rode isto pra checar se está vindo retorno caso tenha retorno o problema esta na chamada do c# declare v_P_ID cd_firmas.firma%TYPE; v_VIDCLIENTE cd_firmas.firma%TYPE; v_VNOMECLIENTE cd_firmas.nome%TYPE; v_VDATACADASTRO date; begin v_p_id := informe um id aqui pra checagem SP_SELECIONA_CLIENTEE( v_P_ID , v_VIDCLIENTE , v_VNOMECLIENTE , v_VDATACADASTRO ); dbms_output.put_line('p_id:' || v_p_id); dbms_output.put_line('VIDCLIENTE:' || v_VIDCLIENTE); dbms_output.put_line('VNOMECLIENTE:' || v_VNOMECLIENTE); dbms_output.put_line('VDATACADASTRO:' || v_VDATACADASTRO); END;
  4. 1º - Não põe o into no cursor 2º - você não esta filtrando a tabela cliente 3º - Como está passando o id, não precisa de um loop, já que o objetivo, suponho, seja de trazer informações de um registro. reate or replace PROCEDURE SP_SELECIONA_CLIENTEE ( -- Parametros de entrada P_ID IN CLIENTE.IDCLIENTE%TYPE, -- Parametros de saida VIDCLIENTE out CLIENTE.IDCLIENTE%TYPE, VNOMECLIENTE out CLIENTE.NOMECLIENTE%TYPE, VDATACADASTRO out CLIENTE.DATACADASTRO%TYPE ) AS CURSOR regClientes IS SELECT "IDCLIENTE", "NOMECLIENTE", "DATACADASTRO" FROM CLIENTE C WHERE ID = P_ID; begin open regClientes; fetch regClientes into VIDCLIENTE, VNOMECLIENTE, VDATACADASTRO; close regCliente; end;
  5. Sergio LF

    Leitura de campo XMLTYPE

  6. Sergio LF

    Leitura de campo XMLTYPE

    Olá, fiz e deu certo. Valeu pela dica, já estava procurando isto há 2 dias. Só lembrando, quem for usar a dica, o "fn_xmlns" deve ser trocado por 'xmlns="http://www.portalfiscal.inf.br/nfe' Mais uma coisa ... como faz pra pegar o este elemento <det nItem="1"> ... quero que retorne o numero do item
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.