sql >> Base de Datos >  >> RDS >> Oracle

¿Qué significa% Type en Oracle sql?

Oracle (y PostgreSQL) tienen:

  • %TIPO
  • %TIPO DE FILA

%TIPO

%TYPE se utiliza para declarar variables con relación al tipo de datos de una columna en una tabla existente:

DECLARE v_id ORDERS.ORDER_ID%TYPE

El beneficio aquí es que si el tipo de datos cambia, el tipo de datos variables permanece sincronizado.

Referencia:http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/fundamentals.htm#i6080

%TIPO DE FILA

Esto se usa en los cursores para declarar una sola variable para contener un solo registro del conjunto de resultados de un cursor o tabla sin necesidad de especificar variables individuales (y sus tipos de datos). Ej:

DECLARE
  CURSOR c1 IS
     SELECT last_name, salary, hire_date, job_id 
       FROM employees 
      WHERE employee_id = 120;

  -- declare record variable that represents a row fetched from the employees table
  employee_rec c1%ROWTYPE; 

BEGIN
 -- open the explicit cursor and use it to fetch data into employee_rec
 OPEN c1;
 FETCH c1 INTO employee_rec;
 DBMS_OUTPUT.PUT_LINE('Employee name: ' || employee_rec.last_name);
END;
/