Pular para o conteúdo

Fóruns SQL e PL/SQL Procedure no Oracle Procedure no Oracle

#91139
burga
Participante

    [quote=”Girino”:3vfg6x9j]Olá..!! 8)

    Fiz conforme você me passou. Consegui compilar a procedure, porém da erro qdo eu vou executá-la.

    CREATE OR REPLACE PROCEDURE teste3 (p_par IN VARCHAR2)
    IS
    CURSOR APONTAMENTO is select CODCC_R from APONTAMENTO where CODCC_R = p_par;
    v_codigo VARCHAR2( 8 );
    BEGIN
    OPEN APONTAMENTO;
    LOOP
    FETCH APONTAMENTO INTO v_codigo;
    EXIT WHEN APONTAMENTO%NOTFOUND;
    BEGIN
    DBMS_OUTPUT.PUT_LINE(v_codigo);
    END;
    END LOOP;
    END;

    exec teste3(‘02210002’);

    ORA-00900: instrução SQL inválida

    Onde estou errando..??? 🙄

    Muito Obrigado pela atenção..!![/quote]

    Você precisa passar o p_par como parâmetro pro cursor.
    Não pode passar direto…

    O cursor ficaria assim:

    CURSOR APONTAMENTO (p_parametro IN VARCHAR2) is select CODCC_R from APONTAMENTO where CODCC_R = p_parametro;

    e pra abrir o cursor:

    OPEN APONTAMENTO(p_par);