Cursor
Acabo de empezar a trabajar en Oracle, y necesito que alguien mi indique como realizar un cursor desde el DECLARE, OPEN, FECTH, CLOSE y visualizaci贸n del cursor
Ah铆 te va un ejemplo sencillo:
Declare
--Declaraci贸n y creaci贸n del cursor
Cursor tmp Is
Select codempleado,nombreempleado,fecingreso
From empleados
Where ststus = 'A';
A NUMBER(3);
B NUMBER(3);
C NUMBER(3);
D NUMBER(3);
begin
A:= 0;
B:= 0;
D:= 0;
For Ho in tmp Loop --Asocias el cursos a una variable
--La variable "Ho" no se declara
--Para hacer referencia ha los campos del cursor utilizas la
-- variable "Ho"
if HO.fecingreso >= '01-JAN-04'
A:= A+1;
ELSIF HO.fecingreso BETWEEN '01-JAN-03' AND '31-DEC-03'
B:= B+1;
ELSIF HO.fecingreso BETWEEN '01-JAN-02' AND '31-DEC-02'
C:= C+1;
ELSE
D:= D+1;
END IF;
--Es posible modificar los valores del cursor.
HO.CODEMPLEADO := 0;
end loop;
end;
Declare
--Declaraci贸n y creaci贸n del cursor
Cursor tmp Is
Select codempleado,nombreempleado,fecingreso
From empleados
Where ststus = 'A';
A NUMBER(3);
B NUMBER(3);
C NUMBER(3);
D NUMBER(3);
begin
A:= 0;
B:= 0;
D:= 0;
For Ho in tmp Loop --Asocias el cursos a una variable
--La variable "Ho" no se declara
--Para hacer referencia ha los campos del cursor utilizas la
-- variable "Ho"
if HO.fecingreso >= '01-JAN-04'
A:= A+1;
ELSIF HO.fecingreso BETWEEN '01-JAN-03' AND '31-DEC-03'
B:= B+1;
ELSIF HO.fecingreso BETWEEN '01-JAN-02' AND '31-DEC-02'
C:= C+1;
ELSE
D:= D+1;
END IF;
--Es posible modificar los valores del cursor.
HO.CODEMPLEADO := 0;
end loop;
end;
