sql >> Database >  >> RDS >> Oracle

Wat betekent %Type in Oracle sql?

Oracle (en PostgreSQL) hebben:

  • %TYPE
  • %ROWTYPE

%TYPE

%TYPE wordt gebruikt om variabelen te declareren met betrekking tot het gegevenstype van een kolom in een bestaande tabel:

DECLARE v_id ORDERS.ORDER_ID%TYPE

Het voordeel hiervan is dat als het gegevenstype verandert, het variabele gegevenstype synchroon blijft.

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

%ROWTYPE

Dit wordt gebruikt in cursors om te declareren dat een enkele variabele een enkele record bevat uit de resultatenset van een cursor of tabel zonder dat afzonderlijke variabelen (en hun gegevenstypes) hoeven te worden gespecificeerd. Bijv.:

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;
/


  1. Postgresql intarray-fout:undefined symbool:pfree

  2. draaitabel Oracle - hoe rij-items in kolommen te veranderen

  3. ANSI 1992 JOIN's en COMMA's mengen in een query

  4. Een maand toevoegen aan een datum in SQLite