Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
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ế.

35,5. Quá tải cách đọc kèo bóng đá

Nhiều hơn một cách đọc kèo bóng đá có thể được xác định với cùng một tên SQL, Miễn là các lập luận họ đưa ra là khác nhau. Nói cách khác, Tên cách đọc kèo bóng đá có thể làquá cách đọc kèo bóng đá. Khi a Truy vấn được thực thi, máy chủ sẽ xác định cách đọc kèo bóng đá nào gọi từ các loại dữ liệu và số lượng của lập luận. Quá tải cũng có thể được sử dụng để mô phỏng các cách đọc kèo bóng đá với số lượng đối số khác nhau, tối đa tối đa hữu hạn con số.

Khi tạo ra một gia đình các cách đọc kèo bóng đá quá tải, nên Cẩn thận không tạo ra sự mơ hồ. Ví dụ, đưa ra cách đọc kèo bóng đá:

Tạo kiểm tra cách đọc kèo bóng đá (int, real) trả về ...
Tạo kiểm tra cách đọc kèo bóng đá (smallint, độ chính xác kép) trả về ...

Không rõ cách đọc kèo bóng đá nào sẽ được gọi là với một số đầu vào tầm thường nhưKiểm tra (1, 1.5). Các quy tắc giải quyết hiện đang được thực hiện là được mô tả trongChương 10, nhưng nó là không khôn ngoan để thiết kế một hệ thống một cách tinh tế dựa vào điều này hành vi.

Một hàm có một đối số duy nhất của loại tổng hợp Nói chung không nên có cùng tên với bất kỳ thuộc tính nào (trường) thuộc loại đó. Nhớ lại rằngthuộc tính (bảng)được coi là tương đương vớiBảng.Attribution. Trong trường hợp ở đó là sự mơ hồ giữa một hàm trên một loại tổng hợp và thuộc tính của loại tổng hợp, thuộc tính sẽ luôn đã sử dụng. Có thể ghi đè sự lựa chọn đó bằng cách sử dụng trình độ lược đồ Tên cách đọc kèo bóng đá (nghĩa làlược đồ.func (bảng)) Nhưng tốt hơn là tránh vấn đề bằng cách không chọn tên xung đột.

12641_12763foo (số)foo (Variadic Số []). Trong trường hợp này, không rõ cái nào nên khớp với một cuộc gọi cung cấp một đối số số duy nhất, chẳng hạn nhưfoo (10.1). Quy tắc là cách đọc kèo bóng đá xuất hiện sớm hơn trong đường dẫn tìm kiếm được sử dụng hoặc nếu hai các cách đọc kèo bóng đá nằm trong cùng một lược đồ, không có variadic là ưa thích.

Khi quá tải các cách đọc kèo bóng đá ngôn ngữ C, có thêm Ràng buộc: Tên C của từng cách đọc kèo bóng đá trong gia đình của Các cách đọc kèo bóng đá quá tải phải khác với tên C của tất cả Các cách đọc kèo bóng đá khác, hoặc được tải nội bộ hoặc động. Nếu điều này Quy tắc bị vi phạm, hành vi không thể di động. Bạn có thể nhận được một Lỗi liên kết thời gian chạy hoặc một trong các cách đọc kèo bóng đá sẽ được gọi (thường là cái bên trong). Hình thức thay thế củaASmệnh đề cho SQLTạo cách đọc 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. Vì ví dụ:

Tạo kiểm tra cách đọc kèo bóng đá (int) Trả về int
    BẰNG 'FileName',' test_1arg '
    Ngôn ngữ C;
Tạo kiểm tra cách đọc kèo bóng đá (int, int) trả về int
    BẰNG 'FileName',' test_2arg '
    Ngôn ngữ C;

Tên của các cách đọc kèo bóng đá C ở đây phản ánh một trong nhiều có thể các quy ước.