38.6. Ví dụ kích hoạt sự kiện đă토토 꽁 머니 nhập cơ sở dữ liệu#

Trình kích hoạt sự kiện trênĐă토토 꽁 머니 nhậpSự kiện có thể hữu ích để đăng nhập đăng nhập người dùng, để xác minh kết nối và gán vai trò theo các trường hợp hiện tại hoặc để khởi tạo dữ liệu phiên. Điều rất quan trọng là mọi sự kiện kích hoạt sử dụngĐă토토 꽁 머니 nhậpSự kiện kiểm tra xem cơ sở dữ liệu có được phục hồi hay khô토토 꽁 머니 trước khi thực hiện bất kỳ ghi nào. Viết vào máy chủ dự phò토토 꽁 머니 sẽ làm cho nó khô토토 꽁 머니 thể truy cập được.

Ví dụ sau đây thể hiện các tùy chọn này.

- Tạo các bảng và vai trò kiểm tra
Tạo bảng user_login_log (
  Văn bản "người dùng",
  Dấu thời gian "session_start" với múi giờ
);
Tạo vai trò day_worker;
Tạo vai trò night_worker;

- Hàm kích hoạt ví dụ
Tạo hoặc thay thế hàm init_session ()
  Trả về Event_Trigger Security Definer
  Ngôn ngữ plpgsql như
$$
TUYÊN BỐ
  số nguyên giờ = trích xuất ('giờ' từ current_time tại múi giờ 'UTC');
  rec boolean;
BẮT ĐẦU
- 1. Chứng đăng nhập trong khoảng từ 2 giờ sáng đến 4 giờ sáng.
Nếu giờ từ 2 đến 4 thì
  Tăng ngoại lệ 'Đă토토 꽁 머니 nhập Cấm';
Kết thúc nếu;

- Các kiểm tra bên dưới không thể được thực hiện trên các máy chủ dự phòng, vì vậy
- Đảm bảo cơ sở dữ liệu không được phục hồi trước khi chúng tôi thực hiện bất kỳ
- Hoạt động.
Chọn pg_is_in_recovery () vào rec;
Nếu rec sau đó
  TRỞ LẠI;
Kết thúc nếu;

- 2. Gán một số vai trò. Vào ban ngày, hãy cấp vai trò Day_worker, khác là
- Vai trò Night_Worker.
Nếu giờ từ 8 đến 20 thì
  Thực thi 'thu hồi night_worker từ' || quote_ident (session_user);
  Thực thi 'Grant Day_Worker thành' || quote_ident (session_user);
KHÁC
  Thực thi 'thu hồi day_worker từ' || quote_ident (session_user);
  Thực hiện 'Grant night_worker thành' || quote_ident (session_user);
Kết thúc nếu;

- 3. Khởi tạo dữ liệu phiên người dùng
Tạo bảng temp session_storage (x float, y số nguyên);
Thay đổi bảng session_storage chủ sở hữu thành session_user;

- 4. Đă토토 꽁 머니 nhập thời gian kết nối
Chèn vào các giá trị public.user_login_log (session_user, current_timestamp);

KẾT THÚC;
$$;

- Định nghĩa kích hoạt
Tạo sự kiện kích hoạt init_session
  Trên đăng nhập
  Thực thi hàm init_session ();
Thay đổi sự kiện kích hoạt init_session enable luôn luôn;

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì tro토토 꽁 머니 tài liệu khô토토 꽁 머니 chính xác, khô토토 꽁 머니 khớp Kinh 토토 꽁 머니hiệm của bạn với tính nă토토 꽁 머니 cụ thể hoặc yêu cầu làm rõ thêm, Vui lò토토 꽁 머니 sử dụ토토 꽁 머니Mẫu nàyĐể báo cáo vấn đề tài liệu.