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
Tài soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

40.1. soi kèo bóng đá truoctran

PL/PGSQLlà ngôn ngữ thủ tục có thể tải choPostgreSQL9672_9712PL/PGSQLđã tạo ra một ngôn ngữ thủ tục có thể tải được

  • Có thể được sử dụng để tạo soi kèo bóng đá truoctran chức năng và quy trình kích hoạt,

  • Thêm cấu trúc điều khiển vàoSQLNgôn ngữ,

  • Có thể thực hiện soi kèo bóng đá truoctran tính toán phức tạp,

  • kế thừa tất cả soi kèo bóng đá truoctran loại, chức năng và toán tử do người dùng xác định

  • có thể được xác định để được máy chủ tin tưởng,

  • rất dễ sử dụng.

soi kèo bóng đá truoctran chức năng được tạo bằngPL/PGSQLCó thể sử dụng bất cứ nơi nào có thể sử dụng soi kèo bóng đá truoctran chức năng tích hợp. Ví dụ: có thể tạo soi kèo bóng đá truoctran hàm tính toán có điều kiện phức tạp và sau đó sử dụng chúng để xác định soi kèo bóng đá truoctran toán tử hoặc sử dụng chúng trong soi kèo bóng đá truoctran biểu thức chỉ mục.

inPostgreSQL9.0 trở lên,PL/PGSQLđược cài đặt theo mặc định. Tuy nhiên, nó vẫn là một mô-đun có thể tải, vì vậy đặc biệt là soi kèo bóng đá truoctran quản trị viên có ý thức bảo mật có thể chọn loại bỏ nó.

40.1.1. Ưu điểm của việc sử dụngPL/PGSQL

SQLlà ngôn ngữPostgreSQLVà hầu hết các cơ sở dữ liệu soi kèo bóng đá truoctran hệ khác sử dụng làm ngôn ngữ truy vấn. Nó di động và dễ học. Nhưng mọiSQLCâu lệnh phải được thực hiện riêng lẻ bởi máy chủ cơ sở dữ soi kèo bóng đá truoctran.

Điều đó có nghĩa là ứng dụng máy khách của bạn phải gửi từng truy vấn đến máy chủ cơ sở dữ soi kèo bóng đá truoctran, chờ nó được xử lý, nhận và xử lý kết quả, thực hiện một số tính toán, sau đó gửi thêm truy vấn đến máy chủ. Tất cả điều này phát sinh giao tiếp giữa các quá trình và cũng sẽ phát sinh chi phí mạng nếu máy khách của bạn ở trên một máy khác với máy chủ cơ sở dữ soi kèo bóng đá truoctran.

vớiPL/PGSQL11643_11707Bên trong11753_11922

  • soi kèo bóng đá truoctran chuyến đi tròn thêm giữa máy khách và máy chủ bị loại

  • Kết quả trung gian mà máy khách không cần không cần phải được sắp xếp hoặc chuyển giữa máy chủ và máy khách

  • Có thể tránh được nhiều vòng phân tích cú pháp truy vấn

Điều này có thể dẫn đến tăng hiệu suất đáng kể so với một ứng dụng không sử dụng soi kèo bóng đá truoctran chức năng được lưu trữ.

Ngoài ra, vớiPL/PGSQLBạn có thể sử dụng tất cả các loại dữ soi kèo bóng đá truoctran, toán tử và chức năng của SQL.

40.1.2. Các loại dữ soi kèo bóng đá truoctran đối số và kết quả được hỗ trợ

soi kèo bóng đá truoctran chức năng được viết bằngPL/PGSQLcó thể chấp nhận như đối số bất kỳ loại dữ liệu vô hướng hoặc mảng nào được máy chủ hỗ trợ và chúng có thể trả về kết quả của bất kỳ loại nào trong số này. Họ cũng có thể chấp nhận hoặc trả về bất kỳ loại soi kèo bóng đá truoctran hợp (loại hàng) được chỉ định theo tên. Nó cũng có thể khai báo mộtPL/PGSQLchức năng trở lạiRecord, có nghĩa là kết quả là loại hàng có cột được xác định theo đặc điểm kỹ thuật trong truy vấn gọi, như đã thảo luận trongPhần 7.2.1.4.

PL/PGSQLsoi kèo bóng đá truoctran chức năng có thể được khai báo để chấp nhận một số lượng đối số thay đổi bằng cách sử dụngVariadicĐiểm đánh dấu. Điều này hoạt động chính xác giống như soi kèo bóng đá truoctran chức năng SQL, như đã thảo luận trongPhần 35.4.5.

PL/PGSQLsoi kèo bóng đá truoctran chức năng cũng có thể được khai báo để chấp nhận và trả về soi kèo bóng đá truoctran loại đa hìnhAnyEuity, AnyArray, Anynonarray, AnyenumAnyrange. Các loại dữ soi kèo bóng đá truoctran thực tế được xử lý bởi hàm đa hình có thể thay đổi từ cuộc gọi đến cuộc gọi, như đã thảo luận trongPhần 35.2.5. Một ví dụ được hiển thị trongPhần 40.3.1.

PL/PGSQLsoi kèo bóng đá truoctran chức năng cũng có thể được khai báo để trả về A"SET"(hoặc bảng) của bất kỳ loại dữ soi kèo bóng đá truoctran nào có thể được trả về dưới dạng một thể hiện duy nhất. Một chức năng như vậy tạo ra đầu ra của nó bằng cách thực thiReturn NextĐối với mỗi phần tử mong muốn của tập kết quả hoặc bằng cách sử dụngTruy vấn trả lạiĐể xuất kết quả của việc đánh giá một truy vấn.

Cuối cùng, APL/PGSQLHàm có thể được tuyên bố để trả vềvoidNếu nó không có giá trị trả về hữu ích.

PL/PGSQL14764_15015BẢNG TRẢ LẠIKý hiệu cũng có thể được sử dụng thay choreturn setof.

Ví dụ cụ thể xuất hiện trongPhần 40.3.1Phần 40.6.1.