Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Co oznacza %Type w Oracle sql?

Oracle (i PostgreSQL) mają:

  • %TYP
  • %ROWTYPE

%TYP

%TYPE służy do deklarowania zmiennych w odniesieniu do typu danych kolumny w istniejącej tabeli:

DECLARE v_id ORDERS.ORDER_ID%TYPE

Zaletą jest to, że jeśli zmieni się typ danych, zmienny typ danych pozostanie zsynchronizowany.

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

%ROWTYPE

Jest to używane w kursorach do deklarowania pojedynczej zmiennej zawierającej pojedynczy rekord z zestawu wyników kursora lub tabeli bez konieczności określania poszczególnych zmiennych (i ich typów danych). Np.:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między wyrocznią DATE a TIMESTAMP

  2. Programista SQL nie chce się uruchomić

  3. ORA-01461:może powiązać wartość LONG tylko w celu wstawienia do kolumny LONG — występuje podczas wykonywania zapytania

  4. Określanie dat Wielkanocy na dowolny rok w Oracle PLSQL

  5. podzapytanie skalarne w instrukcji if Warunek w PL/SQL