kèo bóng đá hôm nay và ngày mai 8 tháng 5 năm 2025:2542_2604 | PostgreSQL: PostgreSQL 18 beta 1 được
Phiên bản được hỗ trợ:hiện tại(173655_378616 / 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 kèo bóng đá hôm nay và ngày mai

Nhiều hơn một hàm có thể được xác định với cùng tên SQL, miễn là các đối số chúng thực hiện là khác nhau. Nói cách khác, tên hàm có thể làquá kèo bóng đá hôm nay và ngày mai. Cho dù bạn có sử dụng nó hay không, khả năng này đòi hỏi các biện pháp phòng ngừa bảo mật khi gọi các kèo bóng đá hôm nay và ngày mai trong cơ sở dữ liệu nơi một số người dùng không tin tưởng người dùng khác; nhìn thấyPhần 10.311181_11440

Khi tạo ra một họ các kèo bóng đá hôm nay và ngày mai quá tải, người ta nên cẩn thận để không tạo ra sự mơ hồ. Chẳng hạn, đưa ra các kèo bóng đá hôm nay và ngày mai:

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

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

Một hàm có một đối số duy nhất thuộc loại tổng hợp thường không có cùng tên với bất kỳ thuộc tính nào (trường) của 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 có sự mơ hồ giữa một hàm trên 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 được sử dụng. Có thể ghi đè sự lựa chọn đó bằng cách sử dụng trình độ lược đồ tên hàm (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.

Một cuộc xung đột có thể khác là giữa các hàm Variadic và không variadic. Chẳng hạn, có thể tạo cả haifoo (số)foo (số variadic []). Trong trường hợp này, không rõ cái nào nên được 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à kèo bóng đá hôm nay và ngày mai 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 hàm nằm trong cùng một lược đồ, thì một hàm không được ưu tiên.

Khi quá tải các kèo bóng đá hôm nay và ngày mai ngôn ngữ C, có một ràng buộc bổ sung: Tên C của mỗi hàm trong họ của các hàm bị quá tải phải khác với tên C của tất cả các kèo bóng đá hôm nay và ngày mai khác, được tải bên trong hoặc được tải động. Nếu quy tắc này bị vi phạm, hành vi không thể di động. Bạn có thể gặp lỗi trình liên kết thời gian chạy hoặc một trong các kèo bóng đá hôm nay và ngày mai sẽ được gọi (thường là quy tắc nội bộ). Hình thức thay thế củaASmệnh đề cho SQLTạo kèo bóng đá hôm nay và ngày maiLệnh phân tách tên hàm SQL từ tên hàm trong mã nguồn C. Ví dụ:

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

Tên của các hàm C ở đây phản ánh một trong nhiều quy ước có thể.