2016-01-13 21 views

Trả lời

7

Từ PostgreSQL's documentation:

  • TYPE cung cấp các kiểu dữ liệu của một biến hoặc bảng cột. Bạn có thể sử dụng điều này để khai báo các biến sẽ giữ các giá trị cơ sở dữ liệu. Ví dụ: giả sử bạn có một cột có tên là user_id trong bảng users của mình. Để khai báo biến có cùng kiểu dữ liệu với tên users.user_id bạn viết: user_id users.user_id%TYPE;.

  • ROWTYPE: Biến của loại hỗn hợp được gọi là biến hàng (hoặc biến loại hàng). Biến như vậy có thể chứa toàn bộ hàng của kết quả truy vấn SELECT hoặc FOR, miễn là tập hợp cột của truy vấn đó khớp với loại được khai báo của biến. Các trường riêng lẻ của giá trị hàng được truy cập bằng ký hiệu dấu chấm thông thường, ví dụ: rowvar.field.

  • RECORD: Biến bản ghi tương tự như biến loại hàng, nhưng chúng không có cấu trúc được xác định trước. Họ thực hiện cấu trúc hàng thực tế của hàng mà họ được chỉ định trong một lệnh SELECT hoặc FOR. Cấu trúc con của một biến bản ghi có thể thay đổi mỗi khi nó được gán cho. Một hệ quả của điều này là cho đến khi một biến bản ghi được gán lần đầu tiên, nó không có cấu trúc con, và bất kỳ nỗ lực nào để truy cập một trường trong nó sẽ vẽ một lỗi thời gian chạy.

Xem liên kết để biết thêm các ví dụ chuyên sâu.

Các vấn đề liên quan