Estou novamente com duvidas em relação ao que posso ou nºao fazer com cursores.
A minha questão é: Posso enviar variáveis que não parametros para dentro de um cursor?
Exemplo:
create or replace procedure M4PR_DIFERENCIAL_CHEFIA_
(
pMES NUMBER,
pANO NUMBER
)
is
CURSOR QUEM_E_CHEFIA IS
select
m4t_hist_cargos.id_sociedad,
m4t_hist_cargos.id_empregad,
m4t_hist_cargos.id_cargo
from
m4t_hist_cargos
where
m4t_hist_cargos.id_empregad = vID_EMP;
vID_SOCIEDADE_CHEFE m4t_hist_cargos.id_sociedad%TYPE;
vID_EMPREGAD_CHEFE m4t_hist_cargos.id_empregad%TYPE;
vID_CARGO_CHEFE m4t_hist_cargos.id_cargo%TYPE;
vID_EMP NUMBER;
begin
vID_EMP :=01;
OPEN QUEM_E_CHEFIA;
LOOP
FETCH QUEM_E_CHEFIA INTO vID_SOCIEDADE_CHEFE, vID_EMPREGAD_CHEFE, vID_CARGO_CHEFE;
EXIT WHEN QUEM_E_CHEFIA%NOTFOUND;
null;
END LOOP;
CLOSE RUB_TRAB_EXTRA_1;
commit;
end;
Como conseguirei meter esta comparação a funcionar?
---> m4t_hist_cargos.id_empregad = vID_EMP
Dou um valor à variavel vID_EMP, mas ela fica inválida quando compilo o procedimento. O que estarei a fazer mal e como poderei dar a volta a esta situação?
Cumprimentos, André.