Oracle (và PostgreSQL) có:
- % TYPE
- % ROWTYPE
% LOẠI
%TYPE
được sử dụng để khai báo các biến có quan hệ với kiểu dữ liệu của một cột trong bảng hiện có:
DECLARE v_id ORDERS.ORDER_ID%TYPE
Lợi ích ở đây là nếu kiểu dữ liệu thay đổi, thì kiểu dữ liệu biến vẫn được đồng bộ hóa.
Tham khảo:http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/fundamentals.htm#i6080
% ROWTYPE
Điều này được sử dụng trong con trỏ để khai báo một biến duy nhất để chứa một bản ghi duy nhất từ tập kết quả của con trỏ hoặc bảng mà không cần chỉ định các biến riêng lẻ (và kiểu dữ liệu của chúng). Ví dụ:
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;
/