sql >> Databasteknik >  >> RDS >> Oracle

Vad betyder %Type i Oracle sql?

Oracle (och PostgreSQL) har:

  • %TYPE
  • %ROWTYPE

%TYPE

%TYPE används för att deklarera variabler med relation till datatypen för en kolumn i en befintlig tabell:

DECLARE v_id ORDERS.ORDER_ID%TYPE

Fördelen här är att om datatypen ändras förblir variabeldatatypen synkroniserad.

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

%ROWTYPE

Detta används i markörer för att deklarera en enskild variabel för att innehålla en enda post från resultatuppsättningen av en markör eller tabell utan att behöva specificera enskilda variabler (och deras datatyper). Ex:

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. Hur hjälper pgBouncer till att påskynda Django

  2. Oracle SQL:Använd sekvens i infogning med Select Statement

  3. SQL - Uppdatera flera poster i en fråga

  4. 1052:Kolumn 'id' i fältlistan är tvetydig