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
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

19.9. Quy trình kích kèo bóng đá hom nay nay

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.

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 ();