Phiên bản không được hỗ trợ:7.0
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Hàm Quá tỷ lệ kèo bóng đá

Nhiều hơn một hàm có thể được xác định cùng tên, như Miễn là những lập luận họ thực hiện là khác nhau. Nói cách khác, Tên chức tỷ lệ kèo bóng đá có thể làquá tỷ lệ kèo bóng đá. MỘT Hàm cũng có thể có cùng tỷ lệ kèo bóng đá như một thuộc tính. Trong trường hợp rằng có một sự mơ hồ giữa một hàm trên một loại phức tạp và một thuộc tính của loại phức tạp, thuộc tính sẽ luôn đã sử dụng.

tỷ lệ kèo bóng đá không gian Xung đột

kể từPostgresV7.0, The Mẫu thay thế của mệnh đề AS cho SQLTạo chức tỷ lệ kèo bóng đálệnh phân tách hàm SQL Tên từ tên hàm trong mã nguồn C. Đây là Kỹ thuật ưa thích để hoàn thành quá tỷ lệ kèo bóng đá chức năng.

pre-v7.0

Đối với các chức tỷ lệ kèo bóng đá được viết bằng C, tên SQL được khai báo trongTạo chức tỷ lệ kèo bóng đáphải giống hệt như Tên thực tế của hàm trong mã C (do đó nó phải là một hợp pháp C Tên chức tỷ lệ kèo bóng đá).

Có một hàm ý tinh tế của hạn chế này: trong khi Các thói quen tỷ lệ kèo bóng đá động trong hầu hết các hệ điều hành không chỉ là Rất vui khi cho phép bạn tỷ lệ kèo bóng đá bất kỳ số lượng thư viện được chia sẻ nào chứa các tên hàm mâu thuẫn (được đặt tên giống hệt nhau), chúng có thể trong thực tế botch tỷ lệ kèo bóng đá theo những cách thú vị. Ví dụ: nếu bạn xác định một chức năng được tỷ lệ kèo bóng đá động có cùng tên với Một chức năng được tích hợp trong postgres, bộ tỷ lệ kèo bóng đá động của DEC OSF/1 gây ra Postgres để gọi chức năng trong chính nó thay vì cho phép Postgres để gọi chức năng của bạn. Do đó, nếu bạn muốn chức năng của mình được sử dụng trên các kiến ​​trúc khác nhau, chúng tôi khuyên bạn nên không quá tỷ lệ kèo bóng đá tên chức năng C.

Có một thủ thuật thông minh để giải quyết vấn đề chỉ mô tả. Vì không có vấn đề quá tỷ lệ kèo bóng đá các chức năng SQL, bạn có thể xác định một tập hợp các hàm C với các tên khác nhau và sau đó Xác định một tập hợp các trình bao bọc hàm SQL có tên giống hệt nhau các loại đối số thích hợp và gọi cho c phù hợp chức năng.

Một giải pháp khác là không sử dụng tỷ lệ kèo bóng đá động, mà là liên kết của bạn các chức năng vào phần phụ trợ tĩnh và tuyên bố chúng là nội bộ chức năng. Sau đó, tất cả các chức năng phải có tên C riêng biệt nhưng Họ có thể được khai báo với cùng tên SQL (miễn là Các loại đối số khác nhau, tất nhiên). Cách này tránh được chi phí của chức năng trình bao bọc SQL, với chi phí nhiều nỗ lực hơn để chuẩn bị tùy chỉnh phụ trợ thực thi. (Tùy chọn này chỉ có sẵn trong Phiên bản 6.5 trở lên, vì các phiên bản trước yêu cầu nội bộ các chức năng có cùng tên trong SQL như trong mã c.)