Các chức năng kích kèo bóng đá euro có thể được viết bằng PL/TCL.PostgreSQLYêu cầu rằng một hàm được gọi là kích kèo bóng đá euro phải được khai báo là một hàm không có đối số và loại trả về củaTrigger
.
Thông tin từ Trình quản lý kích kèo bóng đá euro được chuyển đến thân hàm trong các biến sau:
$ tg_name
Tên của bộ kích kèo bóng đá euro từTạo Trigger
câu lệnh.
$ tg_relid
ID đối tượng của bảng khiến hàm kích kèo bóng đá euro được gọi.
$ tg_table_name
Tên của bảng gây ra chức năng kích kèo bóng đá euro được gọi.
$ tg_table_schema
lược đồ của bảng gây ra chức năng kích kèo bóng đá euro được gọi.
$ tg_relatts
Một danh sách TCL của tên cột bảng, được tiền tố với một phần tử danh sách trống. Vì vậy, tìm kiếm một tên cột kèo bóng đá euro danh sách vớiTCL'sLsearch
Lệnh trả về số của phần tử bắt đầu bằng 1 cho cột đầu tiên, giống như cách các cột được đánh số theo thông thường kèo bóng đá euroPostgreSQL. .
$ tg_when
chuỗitrước
, sau
hoặcthay vì
, Tùy thuộc vào loại sự kiện kích kèo bóng đá euro.
$ tg_level
chuỗihàng
hoặccâu lệnh
Tùy thuộc vào loại sự kiện kích kèo bóng đá euro.
$ tg_op
chuỗiChèn
, Cập nhật
, Xóa
hoặccắt ngắn
Tùy thuộc vào loại sự kiện kích kèo bóng đá euro.
$ new
Một mảng kết hợp chứa các giá trị của hàng bảng mới choChèn
hoặcCập nhật
hành động hoặc trống choXóa
. Mảng được lập chỉ mục bằng tên cột.
$ cũ
Một mảng kết hợp chứa các giá trị của hàng bảng cũ choCập nhật
hoặcXóa
Hành động hoặc trống choChèn
. Mảng được lập chỉ mục bằng tên cột.
$ args
Một danh sách TCL của các đối số cho hàm như được đưa ra kèo bóng đá euroTạo Trigger
Tuyên bố. Những đối số này cũng có thể truy cập được là$ 1
...$
kèo bóng đá euro cơ thể chức năng.n
Giá trị trả về từ hàm kích kèo bóng đá euro có thể là một trong các chuỗiOK
hoặcBỏ qua
hoặc một danh sách các cặp/cặp giá trị cột. Nếu giá trị trả về làOK
, kèo bóng đá euro động (Chèn
/Cập nhật
/Xóa
) bắn kích kèo bóng đá euro sẽ tiến hành bình thường.Bỏ qua
Nói với trình quản lý kích kèo bóng đá euro để âm thầm triệt tiêu kèo bóng đá euro động cho hàng này. Nếu một danh sách được trả về, nó sẽ yêu cầu PL/TCL trả lại một hàng sửa đổi cho trình quản lý kích kèo bóng đá euro;trước
Chèn
hoặcCập nhật
Trình kích kèo bóng đá euro, trong đó hàng sửa đổi sẽ được chèn thay vì hàng được đưa ra trong$ new
; hoặc cho cấp độ hàngthay vì
Chèn
hoặcCập nhật
Trình kích kèo bóng đá euro trong đó hàng được trả về được sử dụng làm dữ liệu nguồn choChèn trả về
hoặcCập nhật trả về
mệnh đề. kèo bóng đá euro cấp độ hàngtrước
Xóa
hoặcthay vì
Xóa
Trình kích kèo bóng đá euro, trả về một hàng sửa đổi có hiệu ứng tương tự như trả vềOK
, đó là kèo bóng đá euro động tiến hành. Giá trị trả về kích kèo bóng đá euro bị bỏ qua cho tất cả các loại kích kèo bóng đá euro khác.
Danh sách kết quả có thể được thực hiện từ biểu diễn mảng của tuple sửa đổi vớimảng get
Lệnh TCL.
Dưới đây là một ví dụ nhỏ chức năng kích kèo bóng đá euro buộc giá trị số nguyên trong bảng để theo dõi số lượng cập nhật được thực hiện trên hàng. Đối với các hàng mới được chèn, giá trị được khởi tạo thành 0 và sau đó tăng lên trên mỗi thao tác cập nhật.
Tạo chức năng Trigfunc_ModCount () Trả về Trigger dưới dạng $$
Lưu ý rằng chính chức năng kích kèo bóng đá euro không biết tên cột; Đó là cung cấp từ các đối số kích kèo bóng đá euro.