Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 39. PL/TCL - Ngôn ngữ thủ tục TCL | Chuyển tiếp nhanh | NEXT |
Quy trình kích kèo bóng đá pháp có thể được viết bằng PL/TCL.PostgreSQLyêu cầu một quy trình được gọi là một kích kèo bóng đá pháp 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 đá pháp được chuyển cho Cơ quan thủ tục trong các biến sau:
Tên của bộ kích kèo bóng đá pháp từTạo Triggercâu lệnh.
ID đối tượng của bảng gây ra kích kèo bóng đá pháp thủ tục được gọi.
Tên của bảng gây ra quy trình kích kèo bóng đá pháp được gọi.
lược đồ của bảng gây ra kích kèo bóng đá pháp thủ tục được gọi.
Danh sách TCL của tên cột bảng, có tiền tố với một
yếu tố danh sách trống. Vì vậy, tìm kiếm một tên cột kèo bóng đá pháp danh sách
vớiTCL'sLsearch
Lệnh trả về phần tử của phần tử
Số bắt đầu bằng 1 cho cột đầu tiên, theo cùng một cách
Các cột được đánh số theo sốPostgreSQL. (Các yếu tố danh sách trống cũng
xuất hiện ở vị trí của các cột đã bị rơi,
để việc đánh số thuộc tính là chính xác cho các cột
quyền của họ.)
chuỗitrướchoặcsauTùy thuộc vào loại kích kèo bóng đá pháp gọi.
chuỗihànghoặccâu lệnhTùy thuộc vào loại kích kèo bóng đá pháp gọi.
ChuỗiChèn, Cập nhậthoặcXóaTùy thuộc vào loại cuộc gọi kích kèo bóng đá pháp.
Một mảng kết hợp chứa các giá trị của cái mới Hàng bảng choChènhoặcCập nhậthành động hoặc trống choXóa. Mảng được lập chỉ mục bằng tên cột. Các cột là NULL sẽ không xuất hiện kèo bóng đá pháp mảng.
Một mảng kết hợp chứa các giá trị của cái cũ Hàng bảng choCập nhậthoặcXóahành động hoặc trống choChèn. Mảng được lập chỉ mục bằng tên cột. Các cột là NULL sẽ không xuất hiện kèo bóng đá pháp mảng.
Một danh sách TCL của các đối số cho quy trình như được đưa ra kèo bóng đá pháp TheTạo TriggerTuyên bố. Những đối số này cũng có thể truy cập được là$ 1...$nkèo bóng đá pháp cơ thể thủ tục.
Giá trị trả về từ quy trình kích kèo bóng đá pháp có thể là một trong những chuỗiOKhoặcBỏ quahoặc một danh sách được trả về bởimảng getLệnh TCL. Nếu giá trị trả về làOK, kèo bóng đá pháp động (Chèn/Cập nhật/Xóa) đã bắn kích kèo bóng đá pháp sẽ tiến hành thông thường.Bỏ quaNói với trình quản lý kích kèo bóng đá pháp Để âm thầm đàn áp kèo bóng đá pháp động cho hàng này. Nếu một danh sách là Trả về, nó bảo PL/TCL trả lại một hàng sửa đổi cho trình kích kèo bóng đá pháp Trình quản lý sẽ được chèn thay vì cái được đưa ra trong$ new. (Điều này kèo bóng đá pháp động choChènvàCập nhậtchỉ.) Không cần phải nói rằng tất cả điều này chỉ có ý nghĩa khi kích kèo bóng đá pháp làtrướcvàcho Mỗi hàng; nếu không thì giá trị trả về bị bỏ qua.
Đây là một ví dụ nhỏ quy trình kích kèo bóng đá pháp 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 bản cập nhật kèo bóng đá pháp động.
Tạo chức năng TrigFunc_ModCount () Trả về Trigger dưới dạng $$ chuyển đổi $ tg_op CHÈN Đặt mới ($ 1) 0 CẬP NHẬT Đặt mới ($ 1) $ Old ($ 1) tăng mới ($ 1) mặc định trả lại ok trả lại [mảng nhận mới] $$ Ngôn ngữ pltcl; Tạo bảng mytab (số nguyên số, văn bản mô tả, số nguyên modcnt); Tạo Trigger Trig_MyTab_ModCount trước khi chèn hoặc cập nhật trên MyTab Đối với mỗi hàng thực thi quy trình TrigFunc_ModCount ('modcnt');
Lưu ý rằng chính quy trình kích kèo bóng đá pháp không biết Tên cột; Đó là cung cấp từ các đối số kích kèo bóng đá pháp. Cái này Cho phép quy trình kích kèo bóng đá pháp được sử dụng lại với các bảng khác nhau.