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ù토토 핫 một tra토토 핫 choPostgreSQL : 문서 : 17 : 38.5. 테이블 재 작성 토토 캔 트리거 예Phiên bản hoặc một tro토토 핫 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

38.5. Một bả토토 핫 viết lại ví dụ kích hoạt sự kiện

Cảm ơnTable_rewriteSự kiện, có thể thực hiện chính sách viết lại bả토토 핫 chỉ cho phép viết lại tro토토 핫 Windows bảo trì.

Đây là một ví dụ thực hiện chính sách đó.

Tạo hoặc thay thế hàm no_rewrite ()
 Trả về Event_Trigger
 Ngôn ngữ plpgsql như
$$
---
--- Thực hiện chính sách viết lại bảng địa phương:
--- công khai. Không được phép viết lại, bao giờ
--- Các bảng khác chỉ được phép viết lại từ 1 giờ sáng đến 6 giờ sáng
--- Trừ khi chúng có hơn 100 khối
---
TUYÊN BỐ
  TAGE_OID OID: = pg_event_trigger_table_rewrite_oid ();
  Intion_Hour Integer: = Trích xuất ('giờ' từ current_time);
  trang số nguyên;
  Số nguyên MAX_PAGES: = 100;
BẮT ĐẦU
  Nếu pg_event_trigger_table_rewrite_oid () = 'public.foo' :: regClass
  SAU ĐÓ
        Tăng ngoại lệ 'Bạn không được phép viết lại bảng %',
                        TAGE_OID :: RegClass;
  Kết thúc nếu;

  Chọn vào các trang liên quan từ pg_class trong đó oid = table_oid;
  Nếu trang max_pages
  SAU ĐÓ
        Tăng ngoại lệ 'Viết lại chỉ được phép cho bảng có ít hơn % trang',
                        max_pages;
  Kết thúc nếu;

  Nếu current_hour không từ 1 đến 6
  SAU ĐÓ
        Tăng ngoại lệ 'viết lại chỉ được phép từ 1 giờ sáng đến 6 giờ sáng';
  Kết thúc nếu;
KẾT THÚC;
$$;

Tạo sự kiện Trigger No_rewrite_allowed
                  Trên table_rewrite
   Quy trình thực thi NO_REWRITE ();