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

43.6. Chức năng kích kèo bóng đá hom nay trong PL/TCL

Các chức năng kích kèo bóng đá hom nay có thể được viết bằng PL/TCL.PostgreSQL10598_10730Trigger.

Thông tin từ Trình quản lý kích kèo bóng đá hom nay đượ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 đá hom nay từTạo Triggercâu lệnh.

$ tg_relid

ID đối tượng của bảng gây ra chức năng kích kèo bóng đá hom nay đượ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 đá hom nay đượ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 đá hom nay được gọi.

$ tg_relatts

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 đá hom nay danh sách vớiTCL'sLsearchLệnh trả về số 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ườngPostgreSQL. .

$ tg_when

chuỗitrước, sau12556_12563thay vì, Tùy thuộc vào loại sự kiện kích kèo bóng đá hom nay.

$ tg_level

chuỗihànghoặccâu lệnhTùy thuộc vào loại sự kiện kích kèo bóng đá hom nay.

$ tg_op

chuỗiChèn, Cập nhật, Xóahoặccắt ngắnTùy thuộc vào loại sự kiện kích kèo bóng đá hom nay.

$ new

Một mảng kết hợp chứa các giá trị của hàng bảng mới 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 trong mảng. Điều này không được đặt cho các kích kèo bóng đá hom nay cấp câu lệnh.

$ 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ậ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 trong mảng. Điều này không được đặt cho các kích kèo bóng đá hom nay cấp câu lệnh.

$ args

Một danh sách TCL của các đối số cho hàm như được đưa ra kèo bóng đá hom nayTạo TriggerTuyên bố. Những đối số này cũng có thể truy cập được là$ 1...$nkèo bóng đá hom nay cơ thể chức năng.

Giá trị trả về từ hàm kích kèo bóng đá hom nay có thể là một trong các chuỗiOKhoặcBỏ quahoặc danh sách các cặp tên/cặp giá trị cột. Nếu giá trị trả về làOK, kèo bóng đá hom nay động (Chèn/Cập nhật/Xóa) bắn kích kèo bóng đá hom nay sẽ tiến hành bình thường.Bỏ quaNói với trình quản lý kích kèo bóng đá hom nay để âm thầm triệt tiêu kèo bóng đá hom nay độ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 đá hom nay; Nội dung của hàng sửa đổi được chỉ định bởi các tên và giá trị cột trong danh sách. Bất kỳ cột không được đề cập trong danh sách được đặt thành NULL. Trả về một hàng sửa đổi chỉ có ý nghĩa đối với cấp độ hàngtrước ChènhoặcCập nhậtTriggers, kèo bóng đá hom nay đó hàng sửa đổi sẽ được chèn thay vì hàng được đưa ra kèo bóng đá hom nay$ new; hoặc cho cấp độ hàngthay vì ChènhoặcCập nhậtTrình kích kèo bóng đá hom nay 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 đá hom nay cấp độ hàngtrước Xóahoặcthay vì XóaTrình kích kèo bóng đá hom nay, 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 đá hom nay động tiến hành. Giá trị trả về kích kèo bóng đá hom nay bị bỏ qua cho tất cả các loại kích kèo bóng đá hom nay khác.

tip

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 getLệnh TCL.

Dưới đây là một ví dụ nhỏ chức năng kích kèo bóng đá hom nay 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 kèo bóng đá hom nay 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
    Cho mỗi hàng thực thi chức kèo bóng đá hom nay trigfunc_modcount ('modcnt');

Lưu ý rằng chính chức năng kích kèo bóng đá hom nay không biết tên cột; Đó là cung cấp từ các đối số kích kèo bóng đá hom nay. Điều này cho phép chức năng kích kèo bóng đá hom nay được sử dụng lại với các bảng khác nhau.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì kèo bóng đá hom nay tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.