PostgreSQLcó nhiều loại khác nhau Giao diện chức năng phía máy chủ. Các chức năng phía máy chủ có thể được viết bằng các chức năng SQL, PLPGSQL, TCL hoặc C. được viết bằng bất kỳ ngôn ngữ nào ngoại trừ SQL. Lưu ý rằng Các sự kiện soi kèo bóng đá truoctran cấp tuyên bố không được hỗ trợ trong hiện tại phiên bản. Bạn hiện có thể chỉ định trước hoặc sau khi chèn, Xóa hoặc cập nhật bộ tuple dưới dạng sự kiện soi kèo bóng đá truoctran.
Nếu xảy ra sự kiện soi kèo bóng đá truoctran, trình quản lý soi kèo bóng đá truoctran (được gọi bởi Người thực thi) thiết lập cấu trúc thông tin TriggerData (được mô tả bên dưới) và gọi hàm soi kèo bóng đá truoctran để xử lý sự kiện.
Hàm soi kèo bóng đá truoctran phải được xác định trước khi soi kèo bóng đá truoctran là Được tạo ra như một chức năng không có đối số và trở lại mờ đục. Nếu hàm được viết bằng C, nó phải sử dụng"Phiên bản 1"Giao diện Trình quản lý chức năng.
Cú pháp để tạo trình soi kèo bóng đá truoctran như sau:
soi kèo bóng đá truoctran TriggerTrigger[Trước | Sau] [chèn | Xóa | Cập nhật [hoặc ...]] TRÊNMối quan hệcho mỗi [hàng | TUYÊN BỐ ] Thực hiện thủ tụcQuy trình(11925_11931);
trong đó soi kèo bóng đá truoctran đối số ở đâu:
Tên của bộ soi kèo bóng đá truoctran được sử dụng nếu bạn phải Xóa soi kèo bóng đá truoctran. Nó được sử dụng như một đối số choDrop Triggerlệnh.
Xác định xem chức năng được gọi trước hay Sau sự kiện.
Phần tử tiếp theo của lệnh xác định về những gì (các) sự kiện sẽ soi kèo bóng đá truoctran chức năng. Nhiều sự kiện có thể được chỉ định phân tách bởi hoặc.
Tên quan hệ xác định bảng nào sự kiện áp dụng cho.
Đối với mỗi mệnh đề xác định xem bộ soi kèo bóng đá truoctran có phải là bắn cho mỗi hàng bị ảnh hưởng hoặc trước (hoặc sau) toàn bộ câu lệnh đã hoàn thành.
Tên thủ tục là hàm được gọi.
Các đối số được truyền cho hàm trong Cấu trúc soi kèo bóng đá truoctran. Mục đích của việc thông qua các đối số cho chức năng là cho phép các soi kèo bóng đá truoctran khác nhau với các yêu cầu tương tự để gọi cùng một chức năng.
Ngoài ra,Quy trìnhcó thể được sử dụng để soi kèo bóng đá truoctran các mối quan hệ khác nhau (các chức năng này được đặt tên làTrình soi kèo bóng đá truoctran chung Chức năng).
Ví dụ về việc sử dụng cả hai tính năng ở trên, có thể là một chức năng chung lấy làm đối số của nó hai tên trường và đặt người dùng hiện tại vào một và Dấu thời gian hiện tại trong cái khác. Điều này cho phép các yếu tố soi kèo bóng đá truoctran được viết trên các sự kiện chèn để tự động theo dõi Tạo hồ sơ trong một bảng giao dịch chẳng hạn. Nó cũng có thể được sử dụng như một"Cuối cùng Đã cập nhật "Hàm nếu được sử dụng trong sự kiện cập nhật.
14418_14600
Trả về NULL để bỏ qua thao tác cho bộ tu (và vì vậy tuple sẽ không được chèn/cập nhật/xóa).
14803_14981
Lưu ý rằng không có khởi tạo nào được thực hiện bởi Tạo Trình xử lý soi kèo bóng đá truoctran. Điều này sẽ được thay đổi trong tương lai. Ngoài ra, nếu nhiều hơn một soi kèo bóng đá truoctran được xác định cho cùng một sự kiện Mối quan hệ, thứ tự bắn soi kèo bóng đá truoctran là không thể đoán trước. Cái này có thể được thay đổi trong tương lai.
15320_15534
Nếu một bộ soi kèo bóng đá truoctran được bắn bằng cách chèn và chèn một tuple mới vào Mối quan hệ tương tự sau đó soi kèo bóng đá truoctran này sẽ được bắn lại. Hiện tại, không có gì được cung cấp để đồng bộ hóa (v.v.) trong số những trường hợp này nhưng điều này có thể thay đổi. Hiện tại, có chức năng funny_dup17 () trong các thử nghiệm hồi quy sử dụng một số kỹ thuật dừng đệ quy (xếp tầng) trên chính nó ...