martes, 10 de enero de 2017

%ROWTYPE

Esta función tienen como objetivo principal tomar el tipo de dato de una fila completa o record.

Ejemplo:

DECLARE

   V_EMP   EMPLOYEES%ROWTYPE;

CURSOR C_EMP IS
SELECT *
  FROM EMPLOYEES
 WHERE EMPLOYEE_ID = 100;

BEGIN
 
  OPEN C_EMP;
  FETCH C_EMP
  INTO V_EMP;
  CLOSE C_EMP;

DBMS_OUTPUT.PUT_LINE('Empleado: '|| V_EMP);

END;
 
Como se puede apreciar, el cursor insertara en esta variable tres tipos de datos distintos sin problema alguno.

Es bueno saber que solo se puede hacer este script siempre y cuando se seleccionen todas las columnas, si solo se quieren menos tendríamos que recurrir a una variable TYPE RECORD.

Share:

%TYPE


%TYPE es una función de PL/SQL que adopta el tipo de dato de una columna.

Su objetivo principal es tomar el tipo de datos de una columna y si en algun momento determinado este tipo de datos es cambiado automáticamente la variable tomara el nuevo tipo de datos asignado.

Podemas tenerla en funciones, procedimientos, paquetes y triggers. Nos facilita considerablemente el mantenimiento.

Ejemplo:

DECLARE

        V_EMP    EMPLOYEES.LAST_NAME%TYPE;

BEGIN

       V_EMP := 'JOSE';

END;
Share:

Archivo

Cual es el tema de mayor interes para ti?