Postgresql 9.0.23 Tài liệu | ||||
---|---|---|---|---|
prev | UP | 10194_10224SQL | Tiếp theo |
PostgreSQLKiểu dữ liệu là chia thành các tỷ lệ kèo bóng đá tối nay cơ sở, tỷ lệ kèo bóng đá tối nay tổng hợp, miền và tỷ lệ kèo bóng đá tối nay giả.
Các tỷ lệ kèo bóng đá tối nay cơ sở là những tỷ lệ kèo bóng đá tối nay, nhưINT4, Đó là được thực hiện dưới mức củaSQLNgôn ngữ (thường ở mức độ thấp Ngôn ngữ như C). Chúng thường tương ứng với những gì là thường được gọi là các tỷ lệ kèo bóng đá tối nay dữ liệu trừu tượng.PostgreSQL11239_11620
Các tỷ lệ kèo bóng đá tối nay tổng hợp hoặc tỷ lệ kèo bóng đá tối nay hàng, được tạo bất cứ khi nào người dùng Tạo một bảng. Nó cũng có thể sử dụngTạo tỷ lệ kèo bóng đá tối nayĐể xác định A"độc lập"tỷ lệ kèo bóng đá tối nay tổng hợp không có liên quan bàn. Một tỷ lệ kèo bóng đá tối nay tổng hợp chỉ đơn giản là một danh sách các tỷ lệ kèo bóng đá tối nay với Tên trường liên kết. Giá trị của tỷ lệ kèo bóng đá tối nay tổng hợp là một hàng hoặc Ghi lại các giá trị trường. Người dùng có thể truy cập thành phần Các trường từSQLTruy vấn. Tham khảoPhần 8.15Để biết thêm thông tin về các tỷ lệ kèo bóng đá tối nay tổng hợp.
Một miền dựa trên một tỷ lệ kèo bóng đá tối nay cơ sở cụ thể và cho nhiều người Mục đích là có thể hoán đổi với tỷ lệ kèo bóng đá tối nay cơ sở của nó. Tuy nhiên, a 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 đá tối nay 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 của họ và Sử dụng không được thảo luận trong chương này.
Có một vài"Pseudo-Types"cho các mục đích đặc biệt. tỷ lệ kèo bóng đá tối nay giả không thể xuất hiện dưới dạng các cột của bảng hoặc thuộc tính của các tỷ lệ kèo bóng đá tối nay 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 đá tối nay đối số và kết quả của các chức năng. Cái này cung cấp một cơ chế trong hệ thống tỷ lệ kèo bóng đá tối nay để xác định đặc biệt Các lớp của các chức năng.Bảng 8-24Liệt kê các tỷ lệ kèo bóng đá tối nay giả hiện có.
Bốn tỷ lệ kèo bóng đá tối nay giả quan tâm đặc biệt làAnyEuity, AnyArray, AnynonarrayvàAnyenum, được gọi chung làCác tỷ lệ kèo bóng đá tối nay đa hình. Bất kỳ chức năng nào được tuyên bố bằng cách sử dụng Những tỷ lệ kèo bóng đá tối nay này được cho làđa hình chức năng. Một hàm đa hình có thể hoạt động trên nhiều Các tỷ lệ kèo bóng đá tối nay dữ liệu khác nhau, với (các) tỷ lệ kèo bóng đá tối nay dữ liệu cụ thể được xác định bởi các tỷ lệ kèo bóng đá tối nay dữ liệu thực sự được truyền cho nó trong một cuộc gọi cụ thể.
Các đối số và kết quả đa hình được gắn với nhau và được giải quyết thành một tỷ lệ kèo bóng đá tối nay dữ liệu cụ thể khi một truy vấn gọi Chức năng đa hình được phân tích cú pháp. Mỗi vị trí (một trong hai đối số hoặc giá trị trả về) được khai báo làAnyEuityđược phép có bất kỳ tỷ lệ kèo bóng đá tối nay dữ liệu thực tế cụ thể nào, nhưng trong bất kỳ tỷ lệ kèo bóng đá tối nay dữ liệu thực tế cụ thể nào cho cuộc gọi cho tất cả họ phải làcùngtỷ lệ kèo bóng đá tối nay thực tế. Mỗi vị trí được tuyên bố làAnyArraycó thể có bất kỳ mảng nào Kiểu dữ liệu, nhưng tương tự tất cả chúng phải là cùng một tỷ lệ kèo bóng đá tối nay. Nếu như Có các vị trí được khai báoAnyArrayvà Những người khác được tuyên bốAnyEuity, Thực tế tỷ lệ kèo bóng đá tối nay mảng trongAnyArrayVị trí phải là một mảng có các phần tử là cùng tỷ lệ kèo bóng đá tối nay xuất hiện trongAnyEuityVị trí.Anynonarrayđược đối xử giống hệt nhưAnyEuity, nhưng thêm vào ràng buộc rằng tỷ lệ kèo bóng đá tối nay thực tế không phải là tỷ lệ kèo bóng đá tối nay mảng.Anyenumđược đối xử giống hệt nhưAnyEuity, nhưng thêm vào ràng buộc rằng tỷ lệ kèo bóng đá tối nay thực tế phải là một tỷ lệ kèo bóng đá tối nay enum.
Do đó, khi có nhiều hơn một vị trí đối số được khai báo với Một tỷ lệ kèo bóng đá tối nay đa hình, hiệu ứng mạng là chỉ có Sự kết hợp của các tỷ lệ kèo bóng đá tối nay đối số thực tế được cho phép. 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 đá tối nay 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 đá tối nay đa hình, phải có ít nhất một vị trí đối số đó cũng là đa hình và tỷ lệ kèo bóng đá tối nay dữ liệu thực tế được cung cấp là Đối số xác định tỷ lệ kèo bóng đá tối nay kết quả thực tế cho cuộc gọi đó. Ví dụ: nếu chưa có đăng ký mảng cơ chế, người ta có thể xác định một chức năng thực hiện Đăng ký làSycript (AnyArray, số nguyên) trả về anyelement. Tuyên bố này hạn chế đối số đầu tiên thực tế là một tỷ lệ kèo bóng đá tối nay mảng và cho phép trình phân tích cú pháp để suy ra tỷ lệ kèo bóng đá tối nay kết quả chính xác từ thực tế đầu tiên tỷ lệ kèo bóng đá tối nay đối số. Một ví dụ khác là một hàm được khai báo làf (AnyArray) trả về AnyenumSẽ chỉ Chấp nhận các mảng của các tỷ lệ kèo bóng đá tối nay enum.
Lưu ý rằngAnynonarrayvàAnyenumKhông đại diện cho các biến tỷ lệ kèo bóng đá tối nay riêng biệt; chúng giống nhưAnyEuity,, Chỉ với một ràng buộc bổ sung. Ví dụ, tuyên bố một chức năng nhưf (AnyEuity, Anyenum)IS 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 một enum kiểu.
một hàm variadic (một người dùng một số biến Đối số, như trongPhần 35.4.5) Có thể là đa hình: Điều này được thực hiện bởi khai báo tham số cuối cùng của nó làVariadic AnyArray. Vì mục đích phù hợp đối số và xác định kết quả thực tế tỷ lệ kèo bóng đá tối nay, 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ủaAnynonarraytham số.