› Fóruns › SQL e PL/SQL › Procedure no Oracle › Procedure no Oracle
[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);