PL/PGSQLcó thể được sử dụng để
Xác định quy trình kích kèo bóng đá hom nay. Một quy trình kích kèo bóng đá hom nay được tạo bằng
TheTạo chức năngLệnh như a
chức năng không có đối số và loại trả về củaTrigger11004_11123Tạo Trigger--- đối số kích kèo bóng đá hom nay là
đã qua quaTG_ARGV
, như mô tả
dưới.
Khi APL/PGSQLHàm là được gọi là một trình kích kèo bóng đá hom nay, một số biến đặc biệt được tạo tự động trong khối cấp cao nhất. Họ là:
new
Kiểu dữ liệuRecord; giữ biến Hàng cơ sở dữ liệu mới cho các kèo bóng đá hom nay động chèn/cập nhật theo hàng Cấp độ kích kèo bóng đá hom nay.
cũ
Kiểu dữ liệuRecord; giữ biến Hàng cơ sở dữ liệu cũ để cập nhật/xóa các kèo bóng đá hom nay động theo hàng Cấp độ kích kèo bóng đá hom nay.
TG_NAME
Kiểu dữ liệutên; biến mà chứa tên của bộ kích kèo bóng đá hom nay 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 kèo bóng đá hom nay 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 kèo bóng đá hom nay sự định nghĩa.
TG_OP
Kiểu dữ liệuText; một chuỗiChèn, Cập nhậthoặcXóaKể cho kèo bóng đá hom nay động nào kích kèo bóng đá hom nay được kích kèo bóng đá hom nay.
TG_RELID
Kiểu dữ liệuoid; ID đối tượng của bảng gây ra lời mời kích kèo bóng đá hom nay.
TG_RELNAME
Kiểu dữ liệutên; tên của bảng gây ra lời mời kích kèo bóng đá hom nay.
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 kèo bóng đá hom nay 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 và có thể được đưa ra như một
sự biểu lộ. Chỉ số không hợp lệ (<0 hoặc =TG_NARGS
) dẫn đến giá trị null.
14120_14816
Giá trị trả về của một kích kèo bóng đá hom nay bị bắn sau khi bị bỏ qua; nó có thể Cũng luôn luôn trả về một giá trị null. Nhưng một kích kèo bóng đá hom nay sau có thể vẫn phá thai bằng cách gây ra lỗi.
Ví dụ 19-1. MỘTPL/PGSQLVí dụ về quy trình kích kèo bóng đá hom nay
Ví dụ này kích kèo bóng đá hom nay đảm bảo rằng bất cứ khi nào một hàng được chèn hoặc được cập nhật trong bảng, tên người dùng và thời gian hiện tại là đóng dấu vào hàng. Và nó đảm bảo rằng tên của một nhân viên là đã cho và mức lương là một giá trị dương.
Tạo bảng EMP ( văn bản empname, Số nguyên tiền lương, Last_date Dấu thời gian, Last_user văn bản ); Tạo chức năng emp_stamp () trả về kích kèo bóng đá hom nay là ' BẮT ĐẦU - Kiểm tra xem empname và tiền lương được đưa ra Nếu new.empname thì không Tăng ngoại lệ '' Empname không thể là giá trị null ''; Kết thúc nếu; Nếu mới.Salary isnull thì Tăng ngoại lệ ''% không thể có mức lương null '', new.empname; Kết thúc nếu; - Ai làm việc cho chúng tôi khi cô ấy phải trả tiền? Nếu mới.Salary <0 thì Tăng ngoại lệ ''% không thể có mức lương âm '', new.empname; Kết thúc nếu; - Hãy nhớ ai đã thay đổi bảng lương khi New.last_date: = '' ngay bây giờ ''; New.last_user: = current_user; Trả lại mới; KẾT THÚC; 'Ngôn ngữ' plpgsql '; Tạo Trigger EMP_Stamp trước khi chèn hoặc cập nhật trên EMP Đối với mỗi hàng thực thi quy trình emp_stamp ();