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ế.

37.10. Quy trình kích tỷ lệ kèo bóng đá

PL/PGSQLcó thể được sử dụng để Xác định quy trình kích tỷ lệ kèo bóng đá. Một quy trình kích tỷ lệ kèo bóng đá được tạo bằng TheTạo chức nănglệnh, khai báo nó là một hàm không có đối số và loại trả về củaTrigger. Lưu ý rằng chức năng phải tuyên bố không có tranh luận ngay cả khi nó dự kiến ​​sẽ nhận được Đối số được chỉ định trongTạo Trigger--- đối số kích tỷ lệ kèo bóng đá được truyền quaTG_ARGV, như được mô tả bên dưới.

Khi APL/PGSQLHàm là được gọi là một trình kích tỷ lệ kèo bóng đá, một số biến đặc biệt được tạo tự động trong khối cấp cao nhất. Họ là:

new

Loại dữ liệuRecord; giữ biến Hàng cơ sở dữ liệu mới choChèn/Cập nhậttỷ lệ kèo bóng đá động trong các kích tỷ lệ kèo bóng đá cấp độ hàng. Biến này là null trong Trình kích tỷ lệ kèo bóng đá cấp câu lệnh.

Kiểu dữ liệuRecord; giữ biến Hàng cơ sở dữ liệu cũ choCập nhật/Xóatỷ lệ kèo bóng đá động trong các kích tỷ lệ kèo bóng đá cấp độ hàng. Biến này là null trong Trình kích tỷ lệ kèo bóng đá cấp câu lệnh.

TG_NAME

Kiểu dữ liệutên; biến mà chứa tên của bộ kích tỷ lệ kèo bóng đá thực sự bị bắn.

tg_when

Kiểu dữ liệuText; một chuỗi củatrướchoặcsauTùy thuộc vào bộ kích tỷ lệ kèo bóng đá sự định nghĩa.

TG_LEVEL

Kiểu dữ liệuText; một chuỗi củahànghoặccâu lệnhTùy thuộc vào bộ kích tỷ lệ kèo bóng đá sự định nghĩa.

TG_OP

Kiểu dữ liệuText; một chuỗiChèn, Cập nhậthoặcXóaKể cho tỷ lệ kèo bóng đá động nào đã kích tỷ lệ kèo bóng đá.

TG_RELID

Kiểu dữ liệuOID; ID đối tượng của bảng gây ra lời mời kích tỷ lệ kèo bóng đá.

TG_RELNAME

Kiểu dữ liệutên; tên của bảng gây ra lời mời kích tỷ lệ kèo bóng đá.

TG_NARGS

Kiểu dữ liệuSố nguyên; số lượng của Các đối số được đưa ra cho quy trình kích tỷ lệ kèo bóng đá trongTạo Triggercâu lệnh.

TG_ARGV []

Mảng kiểu dữ liệu củaText; các Đối số từTạo TriggerTuyên bố. Chỉ số được tính từ 0. Chỉ số không hợp lệ (ít hơn hơn 0 hoặc lớn hơn hoặc bằngTG_NARGS) dẫn đến giá trị null.

Một chức năng kích tỷ lệ kèo bóng đá phải trả về null hoặc bản ghi/hàng Giá trị có chính xác cấu trúc của bảng mà kích tỷ lệ kèo bóng đá là bị sa thải cho.

Trình kích tỷ lệ kèo bóng đá cấp hàng đã bắntrước14772_14924Chèn/Cập nhật/XóaKhông xảy ra cho hàng này). Nếu một giá trị nonnull được trả về thì tỷ lệ kèo bóng đá động tiến hành với giá trị hàng đó. Trả lại giá trị hàng khác với giá trị ban đầu củanewThay đổi hàng sẽ được chèn hoặc cập nhật (nhưng không có Hiệu ứng trực tiếp trongXóatrường hợp). ĐẾN thay đổi hàng cần lưu trữ, có thể thay thế một Giá trị trực tiếp trongmới​​và trả về Đã sửa đổimớihoặc để xây dựng một cái mới hoàn chỉnh Ghi lại/ROW để trả về.

Giá trị trả về của AtrướchoặcsauTrình kích tỷ lệ kèo bóng đá cấp độ tuyên bố hoặcsauTrigger cấp độ hàng luôn bỏ qua; Nó cũng có thể là null. Tuy nhiên, bất kỳ loại nào trong số này của Trình kích tỷ lệ kèo bóng đá vẫn có thể hủy bỏ toàn bộ tỷ lệ kèo bóng đá động bằng cách nâng cao lỗi.

Ví dụ 37-1Hiển thị một ví dụ về quy trình kích tỷ lệ kèo bóng đá trongPL/PGSQL.

Ví dụ 37-1. MỘTPL/PGSQLQuy trình kích tỷ lệ kèo bóng đá

16291_16535

16570_17479