PostgreSQLCác tỷ lệ kèo bóng đá 88 dữ liệu được chia thành các tỷ lệ kèo bóng đá 88 cơ sở, tỷ lệ kèo bóng đá 88 tổng hợp, miền và tỷ lệ kèo bóng đá 88 giả.
Các tỷ lệ kèo bóng đá 88 cơ sở là những tỷ lệ kèo bóng đá 88, nhưINT4
, được thực hiện dưới mức củaSQLNgôn ngữ (thường bằng ngôn ngữ cấp thấp như C). Chúng thường tương ứng với những gì thường được gọi là các tỷ lệ kèo bóng đá 88 dữ liệu trừu tượng.PostgreSQL12389_12746
Các tỷ lệ kèo bóng đá 88 tổng hợp hoặc tỷ lệ kèo bóng đá 88 hàng, được tạo bất cứ khi nào người dùng tạo bảng. Nó cũng có thể sử dụngTạo tỷ lệ kèo bóng đá 88Để xác định Ađộc lậptỷ lệ kèo bóng đá 88 tổng hợp không có bảng liên kết. Một tỷ lệ kèo bóng đá 88 tổng hợp chỉ đơn giản là một danh sách các tỷ lệ kèo bóng đá 88 có tên trường liên quan. Giá trị của tỷ lệ kèo bóng đá 88 tổng hợp là một hàng hoặc bản ghi của các giá trị trường. Người dùng có thể truy cập các trường thành phần từSQLTruy vấn. Tham khảoPhần 8.16Để biết thêm thông tin về các tỷ lệ kèo bóng đá 88 tổng hợp.
Một miền dựa trên một tỷ lệ kèo bóng đá 88 cơ sở cụ thể và cho nhiều mục đích có thể thay thế với tỷ lệ kèo bóng đá 88 cơ sở của nó. Tuy nhiên, một miền có thể có các ràng buộc hạn chế các giá trị hợp lệ của nó đối với một tập hợp con của tỷ lệ kèo bóng đá 88 cơ sở cơ bản sẽ cho phép.
miền có thể được tạo bằng cách sử dụngSQLlệnhTạo tên miền. Sáng tạo và sử dụng của họ không được thảo luận trong chương này.
Có một vàiPseudo-TypesHồicho các mục đích đặc biệt. Các tỷ lệ kèo bóng đá 88 giả không thể xuất hiện dưới dạng các cột của các bảng hoặc thuộc tính của các tỷ lệ kèo bóng đá 88 tổng hợp, nhưng chúng có thể được sử dụng để khai báo các tỷ lệ kèo bóng đá 88 đối số và kết quả của các hàm. Điều này cung cấp một cơ chế trong hệ thống tỷ lệ kèo bóng đá 88 để xác định các lớp chức năng đặc biệt.Bảng 8.25Liệt kê các tỷ lệ kèo bóng đá 88 giả hiện có.
Năm tỷ lệ kèo bóng đá 88 giả quan tâm đặc biệt làAnyEuity
, AnyArray
, Anynonarray
, Anyenum
vàAnyrange
, được gọi chung làCác tỷ lệ kèo bóng đá 88 đa hình. Bất kỳ chức năng nào được tuyên bố bằng cách sử dụng các tỷ lệ kèo bóng đá 88 này được cho làHàm đa hình. Hàm đa hình có thể hoạt động trên nhiều tỷ lệ kèo bóng đá 88 dữ liệu khác nhau, với (các) tỷ lệ kèo bóng đá 88 dữ liệu cụ thể được xác định bởi các tỷ lệ kèo bóng đá 88 dữ liệu thực sự được truyền cho nó trong một cuộc gọi cụ thể.
16012_16227AnyEuity
được phép có bất kỳ tỷ lệ kèo bóng đá 88 dữ liệu thực tế cụ thể nào, nhưng trong bất kỳ cuộc gọi nào, tất cả đều phải làcùngtỷ lệ kèo bóng đá 88 thực tế. Mỗi vị trí được khai báo làAnyArray
có thể có bất kỳ tỷ lệ kèo bóng đá 88 dữ liệu mảng nào, nhưng tương tự tất cả chúng phải cùng tỷ lệ kèo bóng đá 88. Và tương tự, các vị trí được khai báo làAnyrange
Tất cả phải là cùng tỷ lệ kèo bóng đá 88 phạm vi. Hơn nữa, nếu có các vị trí được tuyên bốAnyArray
và những người khác được tuyên bốAnyEuity
, tỷ lệ kèo bóng đá 88 mảng thực tế trongAnyArray
Vị trí phải là một mảng có các phần tử là cùng tỷ lệ kèo bóng đá 88 xuất hiện trongAnyEuity
Vị trí. Tương tự, nếu có các vị trí được khai báoAnyrange
và những người khác được tuyên bốAnyEuity
hoặcAnyArray
, tỷ lệ kèo bóng đá 88 phạm vi thực tế trongAnyrange
Vị trí phải là một phạm vi có phân nhóm là cùng tỷ lệ kèo bóng đá 88 xuất hiện trongAnyEuity
Vị trí và giống như tỷ lệ kèo bóng đá 88 phần tử củaAnyArray
Vị trí.Anynonarray
được đối xử giống hệt nhưAnyEuity
17531_17618Anyenum
được đối xử giống hệt nhưAnyEuity
, nhưng thêm ràng buộc bổ sung rằng tỷ lệ kèo bóng đá 88 thực tế phải là tỷ lệ kèo bóng đá 88 enum.
Do đó, khi có nhiều hơn một vị trí đối số được khai báo với tỷ lệ kèo bóng đá 88 đa hình, hiệu ứng ròng là chỉ được phép kết hợp một số tỷ lệ kèo bóng đá 88 đối số thực tế. Ví dụ: một hàm được khai báo làbằng (AnyEuity, AnyEuity)
sẽ lấy bất kỳ hai giá trị đầu vào nào, miễn là chúng thuộc cùng một tỷ lệ kèo bóng đá 88 dữ liệu.
Khi giá trị trả về của hàm được khai báo là một tỷ lệ kèo bóng đá 88 đa hình, phải có ít nhất một vị trí đối số cũng đa hình và tỷ lệ kèo bóng đá 88 dữ liệu thực tế được cung cấp là đối số xác định tỷ lệ kèo bóng đá 88 kết quả thực tế cho cuộc gọi đó. Ví dụ: nếu chưa có cơ chế đăng ký mảng, người ta có thể xác định một hàm thực hiện đăng ký làĐăng ký (AnyArray, Integer) trả về AnyEuity
18597_18817f (AnyArray) trả về Anyenum
Sẽ chỉ chấp nhận các mảng của các tỷ lệ kèo bóng đá 88 enum.
Trong hầu hết các trường hợp, trình phân tích cú pháp có thể suy ra tỷ lệ kèo bóng đá 88 dữ liệu thực tế cho tỷ lệ kèo bóng đá 88 kết quả đa hình từ các đối số thuộc tỷ lệ kèo bóng đá 88 đa hình khác nhau; Ví dụAnyArray
có thể được suy luận từAnyEuity
hoặc ngược lại. Ngoại lệ là kết quả đa hình của tỷ lệ kèo bóng đá 88Anyrange
Yêu cầu đối số tỷ lệ kèo bóng đá 88Anyrange
; nó không thể được suy luận từAnyArray
hoặcAnyEuity
Đối số. Điều này là do có thể có nhiều tỷ lệ kèo bóng đá 88 phạm vi với cùng một tỷ lệ kèo bóng đá 88 phụ.
Lưu ý rằngAnynonarray
vàAnyenum
Không đại diện cho các biến tỷ lệ kèo bóng đá 88 riêng biệt; chúng giống nhưAnyEuity
, chỉ với một ràng buộc bổ sung. Ví dụ: khai báo một hàm làf (AnyEuity, Anyenum)
tương đương với việc khai báo nó làf (Anyenum, Anyenum)
: Cả hai đối số thực tế phải là cùng tỷ lệ kèo bóng đá 88 enum.
một hàm variadic (một người dùng một số lượng đối số, như trongPhần 37.4.5) Có thể đa hình: Điều này được thực hiện bằng cách khai báo tham số cuối cùng của nó làVariadic
AnyArray
. Đối với các mục đích của đối số khớp và xác định tỷ lệ kèo bóng đá 88 kết quả thực tế, một hàm như vậy hoạt động giống như khi bạn đã viết số lượng thích hợp củaAnynonarray
tham số.