Oracle - Problemas con Cursor Dinámico

 
Vista:

Problemas con Cursor Dinámico

Publicado por conkeror (5 intervenciones) el 25/01/2006 00:41:05
El trigger en cuestión es el siguiente:

CREATE OR REPLACE TRIGGER scott.cheq_salguide BEFORE UPDATE OR DELETE OF job, minsal, maxsal ON scott.sal_guide for each row

DECLARE

TYPE reg IS RECORD (job emp.job%TYPE, sal emp.salar%TYPE );

empleado reg;

TYPE Datos IS REF CURSOR RETURN reg;

Datos.emp Datos;

BEGIN

OPEN CURSOR Datos FOR SELECT job, sal FROM scott.emp WHERE sal >= :new.minsal AND sal <= :new.maxsal;

FOR empleado IN Datos
LOOP

IF DELETING AND empleado.sal>=:new.minsal AND empleado.sal<=:new.maxsal THEN
RAISE_APPLICATION_ERROR( -20325,'No se puede eliminar esta tupla de SAL_GUIDE ya que hay empleados con salarios comprendidos entre sus
limites') ;
END IF;

END LOOP;

END;

Y el error este:

Errores para TRIGGER SCOTT.CHEQ_SALGUIDE:

LINE/COL ERROR
-------- -----------------------------------------------------------------
9/6 PLS-00103: Se ha encontrado el símbolo "." cuando se esperaba uno
de los siguientes:
constant exception <an identifier>
<a double-quoted delimited-identifier> table LONG_ double ref
char time timestamp interval date binary national character
nchar

Llevo bastante tiempo dandole vueltas :S, pero en ningún sitio encuentro explicaciones sobre cursores dinámicos.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder