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 / 7.3 / 7.2 / 7.1

43.10. Chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay#

PL/PGSQLcó thể được sử dụng để xác định các chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay trên các thay đổi dữ liệu hoặc các sự kiện cơ sở dữ liệu. Chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay được tạo bằngTạo chức tỷ lệ kèo bóng đá trực tuyến hôm naytỷ lệ kèo bóng đá trực tuyến hôm naynh, khai báo nó là một hàm không có đối số và loại trả về củaTrigger(đối với kích tỷ lệ kèo bóng đá trực tuyến hôm nay thay đổi dữ liệu) hoặcevent_trigger(đối với các kích tỷ lệ kèo bóng đá trực tuyến hôm nay sự kiện cơ sở dữ liệu). Các biến cục bộ đặc biệt có tênTG_cái gì đóđược xác định tự động để mô tả điều kiện đã kích tỷ lệ kèo bóng đá trực tuyến hôm nay cuộc gọi.

43.10.1. Kích tỷ lệ kèo bóng đá trực tuyến hôm nay thay đổi dữ liệu#

Atỷ lệ kèo bóng đá trực tuyến hôm nay đá euro: Tài liệu: 16: Chương 39. Trình kíđược khai báo là một hàm không có đối số và loại trả về củaTrigger. Lưu ý rằng hàm phải được khai báo mà không có đối số ngay cả khi nó dự kiến ​​sẽ nhận được một số đối số được chỉ định trongTạo Trigger- Các đối số như vậy được truyền quaTG_ARGV, như được mô tả bên dưới.

Khi APL/PGSQLHàm được gọi là kích tỷ lệ kèo bóng đá trực tuyến hôm nay, một số biến đặc biệt được tạo tự động trong khối cấp cao nhất. Họ là:

mới Record #

Hàng cơ sở dữ tỷ lệ kèo bóng đá trực tuyến hôm nay mới choChèn/Cập nhậttỷ lệ kèo bóng đá trực tuyến hôm nay động trong các kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp độ hàng. Biến này là NULL trong các kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp câu lệnh và choXóatỷ lệ kèo bóng đá trực tuyến hôm nay động.

Record #

Hàng cơ sở dữ tỷ lệ kèo bóng đá trực tuyến hôm nay cũ choCập nhật/Xóatỷ lệ kèo bóng đá trực tuyến hôm nay động trong các kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp độ hàng. Biến này là NULL trong các kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp câu lệnh và choChèntỷ lệ kèo bóng đá trực tuyến hôm nay động.

TG_NAME tên #

Tên của bộ kích tỷ lệ kèo bóng đá trực tuyến hôm nay đã bắn.

tg_when Text #

trước, sauhoặcthay vì, Tùy thuộc vào định nghĩa của bộ kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

TG_LEVEL Text #

hànghoặccâu tỷ lệ kèo bóng đá trực tuyến hôm naynh, Tùy thuộc vào định nghĩa của bộ kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

TG_OP Text #

tỷ lệ kèo bóng đá trực tuyến hôm nay động mà kích tỷ lệ kèo bóng đá trực tuyến hôm nay đã được bắn:Chèn, Cập nhật, Xóahoặccắt ngắn.

TG_RELID OID(Tài tỷ lệ kèo bóng đá trực tuyến hôm nay tham khảopg_ class.OID) #

ID đối tượng của bảng gây ra lời mời kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

TG_RELNAME tên #

Bảng gây ra lời mời kích tỷ lệ kèo bóng đá trực tuyến hôm nay. Điều này bây giờ không được chấp nhận, và có thể biến mất trong một bản phát hành trong tương lai. Sử dụngTG_TABLE_NAMEthay vào đó.

TG_TABLE_NAME tên #

Bảng gây ra lời mời kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

tg_table_schema tên #

lược đồ của bảng gây ra lời mời kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

TG_NARGS Số nguyên #

Số lượng đối số được đưa ra cho hàm kích tỷ lệ kèo bóng đá trực tuyến hôm nay trongTạo Triggercâu tỷ lệ kèo bóng đá trực tuyến hôm naynh.

TG_ARGV Text [] #

Đối số từTạo TriggerTuyên bố. Chỉ số được tính từ 0. Các chỉ mục không hợp lệ (nhỏ hơn 0 hoặc lớn hơn hoặc bằngTG_NARGS) dẫn đến giá trị null.

Một chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay phải trả vềnullhoặc giá trị bản ghi/hàng có chính xác cấu trúc của bảng, kích tỷ lệ kèo bóng đá trực tuyến hôm nay đã được kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

Trình kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp hàng đã bắntrước17921_18067Chèn/Cập nhật/XóaKhông xảy ra cho hàng này). Nếu một giá trị nonnull được trả về thì tỷ lệ kèo bóng đá trực tuyến hôm nay động sẽ tiến hành giá trị hàng đó. Trả về giá trị hàng khác với giá trị ban đầu củamớiThay đổi hàng sẽ được chèn hoặc cập nhật. Do đó, nếu hàm kích tỷ lệ kèo bóng đá trực tuyến hôm nay muốn hành động kích tỷ lệ kèo bóng đá trực tuyến hôm nay thành công bình thường mà không làm thay đổi giá trị hàng,mới(hoặc một giá trị bằng nhau) phải được trả về. Để thay đổi hàng cần được lưu trữ, có thể thay thế các giá trị đơn trực tiếp trongmớivà trả về sửa đổimớihoặc để xây dựng một bản ghi/hàng mới hoàn chỉnh để trả lại. Trong trường hợp trước kích tỷ lệ kèo bóng đá trực tuyến hôm nay trênXóa, giá trị trả về không có hiệu lực trực tiếp, nhưng nó phải không được cho phép hành động kích tỷ lệ kèo bóng đá trực tuyến hôm nay được tiến hành. Lưu ý rằngmớilà null trongXóaKích tỷ lệ kèo bóng đá trực tuyến hôm nay, vì vậy việc trả lại thường không hợp lý. Thành ngữ thông thường trongXóaTriggers sẽ trở lại.

thay vìTriggers (luôn là kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp độ hàng và chỉ có thể được sử dụng trên các lượt xem) có thể trả lại NULL để báo hiệu rằng chúng không thực hiện bất kỳ bản cập nhật nào và phần còn lại của tỷ lệ kèo bóng đá trực tuyến hôm nay động cho hàng không được đưa vàoChèn/Cập nhật/Xóa). Nếu không, một giá trị không phải sẽ được trả về, để báo hiệu rằng bộ kích tỷ lệ kèo bóng đá trực tuyến hôm nay đã thực hiện thao tác được yêu cầu. VìChènCập nhậttỷ lệ kèo bóng đá trực tuyến hôm nay động, giá trị trả về phải làmới, mà hàm kích tỷ lệ kèo bóng đá trực tuyến hôm nay có thể sửa đổi để hỗ trợChèn trả vềCập nhật trả về(Điều này cũng sẽ ảnh hưởng đến giá trị hàng được truyền cho bất kỳ trình kích tỷ lệ kèo bóng đá trực tuyến hôm nay nào sau đó hoặc được chuyển cho một đặc biệtLoại trừTham khảo bí danh trong mộtChèncâu tỷ lệ kèo bóng đá trực tuyến hôm naynh vớitrên xung đột do cập nhậtmệnh đề). VìXóatỷ lệ kèo bóng đá trực tuyến hôm nay động, giá trị trả về phải là.

Giá trị trả về của trình kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp hàng được bắnsauhoặc kích tỷ lệ kèo bóng đá trực tuyến hôm nay cấp độ tuyên bốtrướchoặcsauluôn bị bỏ qua; Nó cũng có thể là NULL. Tuy nhiên, bất kỳ loại kích tỷ lệ kèo bóng đá trực tuyến hôm nay nào vẫn có thể hủy bỏ toàn bộ tỷ lệ kèo bóng đá trực tuyến hôm nay động bằng cách gây ra lỗi.

Ví dụ 43.3Hiển thị một ví dụ về hàm kích tỷ lệ kèo bóng đá trực tuyến hôm nay trongPL/PGSQL.

21230_21258PL/PGSQLChức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay

Kích tỷ lệ kèo bóng đá trực tuyến hôm nay ví dụ này đảm bảo rằng bất cứ khi nào một hàng được chèn hoặc cập nhật trong bảng, tên người dùng và thời gian hiện tại được đóng dấu vào hàng. Và nó kiểm tra xem tên của một nhân viên được đưa ra và mức lương là một giá trị dương.

21647_22617

Một cách khác để nhật ký thay đổi vào bảng liên quan đến việc tạo một bảng mới giữ một hàng cho mỗi lần chèn, cập nhật hoặc xóa xảy ra. Cách tiếp cận này có thể được coi là kiểm toán thay đổi trên bảng.Ví dụ 43.4Hiển thị một ví dụ về chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay kiểm toán trongPL/PGSQL.

Ví dụ 43.4. MỘTPL/PGSQLChức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay để kiểm toán

Ví dụ này kích tỷ lệ kèo bóng đá trực tuyến hôm nay đảm bảo rằng mọi chèn, cập nhật hoặc xóa một hàng trongEMPBảng được ghi lại (tức là đã được kiểm toán) trongEMP_AUDIT23585_23704

Tạo bảng EMP (
    Empname văn bản không phải null,
    Số nguyên lương
);

Tạo bảng emp_audit (
    tỷ lệ kèo bóng đá trực tuyến hôm nay động Char (1) không phải NULL,
    dấu thời gian tem không phải null,
    văn bản userid không null,
    Empname văn bản không phải null,
    Số nguyên lương
);

Tạo hoặc thay thế chức năng process_emp_audit () trả về Trigger như $ emp_audit $
    BẮT ĐẦU
        -
        - Tạo một hàng trong EMP_Audit để phản ánh tỷ lệ kèo bóng đá trực tuyến hôm nay động được thực hiện trên EMP,
        - Sử dụng biến đặc biệt TG_OP để thực hiện thao tác.
        -
        If (tg_op = 'xóa') thì
            Chèn vào emp_audit Chọn 'd', bây giờ (), current_user, cũ.*;
        Elsif (tg_op = 'cập nhật') sau đó
            Chèn vào emp_audit Chọn 'u', bây giờ (), current_user, mới.*;
        Elsif (tg_op = 'chèn') sau đó
            Chèn vào emp_audit Chọn 'i', bây giờ (), current_user, mới.*;
        Kết thúc nếu;
        Trả lại null; - Kết quả bị bỏ qua vì đây là một kích tỷ lệ kèo bóng đá trực tuyến hôm nay sau
    KẾT THÚC;
$ emp_audit $ ngôn ngữ plpgsql;

Tạo Trigger EMP_AUDIT
Sau khi chèn hoặc cập nhật hoặc xóa trên EMP
    Đối với mỗi hàng thực thi chức năng process_emp_audit ();

Một biến thể của ví dụ trước sử dụng chế độ xem tham gia bảng chính vào bảng kiểm toán, để hiển thị khi mỗi mục được sửa đổi lần cuối. Cách tiếp cận này vẫn ghi lại sự thay đổi kiểm toán đầy đủ của bảng, nhưng cũng trình bày một cái nhìn đơn giản về dấu vết kiểm toán, chỉ hiển thị dấu thời gian được sửa đổi cuối cùng có nguồn gốc từ đường mòn kiểm toán cho mỗi mục.Ví dụ 43.5Hiển thị ví dụ về kích tỷ lệ kèo bóng đá trực tuyến hôm nay kiểm toán trên chế độ xem trongPL/PGSQL.

Ví dụ 43.5. MỘTPL/PGSQLXem chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay để kiểm toán

25864_2602926049_26060Bảng. Thời gian hiện tại và tên người dùng được ghi lại, cùng với loại tỷ lệ kèo bóng đá trực tuyến hôm nay động được thực hiện và chế độ xem hiển thị thời gian sửa đổi cuối cùng của mỗi hàng.

26263_27986

Một cách sử dụng các yếu tố kích tỷ lệ kèo bóng đá trực tuyến hôm nay là duy trì bảng tóm tắt của một bảng khác. Tóm tắt kết quả có thể được sử dụng thay cho bảng gốc cho các truy vấn nhất định - thường là với thời gian chạy giảm rất nhiều. Kỹ thuật này thường được sử dụng trong kho dữ liệu, trong đó các bảng dữ liệu được đo hoặc quan sát (được gọi là bảng thực tế) có thể cực kỳ lớn.Ví dụ 43.6Hiển thị một ví dụ về hàm kích tỷ lệ kèo bóng đá trực tuyến hôm nay trongPL/PGSQLduy trì bảng tóm tắt cho bảng thực tế trong kho dữ tỷ lệ kèo bóng đá trực tuyến hôm nay.

Ví dụ 43.6. MỘTPL/PGSQLHàm kích tỷ lệ kèo bóng đá trực tuyến hôm nay để duy trì bảng tóm tắt

lược đồ chi tiết ở đây một phần dựa trênCửa hàng tạp hóaVí dụ từBộ công cụ kho dữ tỷ lệ kèo bóng đá trực tuyến hôm naybởi Ralph Kimball.

29246_33820

sauTriggers cũng có thể sử dụngBảng chuyển tiếpĐể kiểm tra toàn bộ tập hợp các hàng thay đổi bằng câu lệnh kích tỷ lệ kèo bóng đá trực tuyến hôm nay. TheTạo Triggertỷ lệ kèo bóng đá trực tuyến hôm naynh gán tên cho một hoặc cả hai bảng chuyển tiếp, và sau đó hàm có thể đề cập đến các tên đó như thể chúng chỉ đọc các bảng tạm thời.Ví dụ 43.7Hiển thị một ví dụ.

34560_34617

Ví dụ này tạo ra kết quả giống nhưVí dụ 43.4, nhưng thay vì sử dụng trình kích tỷ lệ kèo bóng đá trực tuyến hôm nay bắn cho mỗi hàng, nó sử dụng một kích tỷ lệ kèo bóng đá trực tuyến hôm nay bắn một lần mỗi câu lệnh, sau khi thu thập thông tin liên quan trong bảng chuyển tiếp. Điều này có thể nhanh hơn đáng kể so với cách tiếp cận kích tỷ lệ kèo bóng đá trực tuyến hôm nay hàng khi câu lệnh gọi đã sửa đổi nhiều hàng. Lưu ý rằng chúng ta phải thực hiện một khai báo kích tỷ lệ kèo bóng đá trực tuyến hôm nay riêng cho từng loại sự kiện, vìTham chiếumệnh đề phải khác nhau cho mỗi trường hợp. Nhưng điều này không ngăn chúng tôi sử dụng một chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay duy nhất nếu chúng tôi chọn. (Trong thực tế, tốt hơn là sử dụng ba chức năng riêng biệt và tránh các bài kiểm tra thời gian chạy trênTG_OP.)

35598_37223

43.10.2. Trình kích tỷ lệ kèo bóng đá trực tuyến hôm nay trên các sự kiện#

PL/PGSQLcó thể được sử dụng để xác địnhPostgreSQL: Tài liệu: 16: Chương 40. Trình. POSTGRESQL37774_37913event_trigger.

Khi APL/PGSQLHàm được gọi là kích tỷ lệ kèo bóng đá trực tuyến hôm nay sự kiện, một số biến đặc biệt được tạo tự động trong khối cấp cao nhất. Họ là:

TG_EVENT Text #

Sự kiện Trình kích tỷ lệ kèo bóng đá trực tuyến hôm nay được bắn cho.

TG_TAG Text #

Thẻ lệnh mà kích tỷ lệ kèo bóng đá trực tuyến hôm nay được kích tỷ lệ kèo bóng đá trực tuyến hôm nay.

Ví dụ 43.8Hiển thị ví dụ về chức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay sự kiện trongPL/PGSQL.

Ví dụ 43.8. MỘTPL/PGSQLChức năng kích tỷ lệ kèo bóng đá trực tuyến hôm nay sự kiện

Ví dụ này kích tỷ lệ kèo bóng đá trực tuyến hôm nay chỉ đơn giản là tăngThông báoTin nhắn mỗi khi tỷ lệ kèo bóng đá trực tuyến hôm naynh được hỗ trợ được thực hiện.

Tạo hoặc thay thế hàm snitch () trả về event_trigger dưới dạng $$
BẮT ĐẦU
    Nâng cao thông báo 'snitch: % %', tg_event, tg_tag;
KẾT THÚC;
$$ Ngôn ngữ plpgsql;

Tạo sự kiện kích tỷ lệ kèo bóng đá trực tuyến hôm nay snitch trên ddl_command_start thực thi chức năng snitch ();

Gửi hiệu chỉnh

40844_41070Mẫu nàyĐể báo cáo vấn đề tài tỷ lệ kèo bóng đá trực tuyến hôm nay.