Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BULK COLLECT
- DECLARE
- TYPE regis IS RECORD (id employee.employee_id%TYPE,nomape VARCHAR2(159), sal employee.salary%TYPE);--CREO EL REGISTRO PARA DARLE FORMA A LA TABLA
- TYPE tabla IS TABLE OF regis
- INDEX BY BINARY_INTEGER;
- vtab tabla;--SIEMPRE DECLARAR UNA VARIABLE CON EL NOMBRE DE LA TABLA PAR APODER MANEJARLA
- BEGIN
- SELECT employee_id,first_name||' '||last_name,salary
- BULK COLLECT INTO vtab
- FROM employee;
- FOR w IN REVERSE vtab.FIRST..vtab.LAST--itera desde el principio de la tabla hasta el final
- LOOP--EL REVERSE LO CARGA DE FINAL A PRINCIPIO
- DBMS_OUTPUT.put_line(vtab(w).id||' '||vtab(w).nomape||' '||vtab(w).sal);--LA W ES PARA QUE RECORRA TODA LA TABLA
- END LOOP; --ONDA EL FOR CUANDO CARGABA UNA LISTA
- END;
- ------------------------------------------------------------------------------------------------------------------------------
- SIN BULK COLLECT
- DECLARE
- TYPE regis IS RECORD (id employee.employee_id%TYPE,nomape VARCHAR2(159), sal employee.salary%TYPE);--CREO EL REGISTRO PARA DARLE FORMA A LA TABLA
- TYPE tabla IS TABLE OF regis
- INDEX BY BINARY_INTEGER;
- vtab tabla;--SIEMPRE DECLARAR UNA VARIABLE CON EL NOMBRE DE LA TABLA PAR APODER MANEJARLA
- CURSOR cur IS
- SELECT employee_id,first_name||' '||last_name emp, salary
- FROM employee;
- vindex BINARY_INTEGER;
- BEGIN
- FOR x IN cur LOOP
- vtab(x.employee_id).nomape:=x.emp;--EL EMPLOYEE ID ES EL INDICE
- vtab(x.employee_id).sal:=x.salary;
- END LOOP;
- --mostrar
- vindex:=vtab.FIRST;
- FOR w IN 1..vtab.COUNT LOOP
- DBMS_OUTPUT.put_line(vtab(vindex).nomape||' '||vtab(vindex).sal);
- vindex:=vtab.next(vindex);--ESO ES COMO EL ++ PARA QUE SE VAYA AUMENTANDO
- END LOOP;
- END;
- ------------------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement