Hướng dẫn sử dụng lệnh SHOW TRIGGERS trong openGauss

Mô tả chức năng

Lệnh SHOW TRIGGERS hiển thị thông tin về các trình kích hoạt (triggers) trong cơ sở dữ liệu.

Cú pháp

SHOW TRIGGERS {FROM | IN} ten_cSDL [LIKE 'mẫu' | WHERE biểu_thức]

Giải thích tham số

  • ten_cSDL: Tên của cơ sở dữ liệu hoặc schema.
  • WHERE biểu_thức: Biểu thức lọc để chọn các trình kích hoạt cụ thể.
  • LIKE 'mẫu': Mẫu chính quy để so khớp với tên của các trình kích hoạt.

Kết quả trả về

Tên trường Loại Mô tả
Trigger Tên trình kích hoạt
Sự kiện Sự kiện kích hoạt (Insert, Delete, Update, Truncate)
Bảng Bảng được định nghĩa cho trình kích hoạt
Lời gọi Nội dung của trình kích hoạt
Thời điểm Thời điểm kích hoạt (Trước hoặc sau sự kiện)
Được tạo Thời gian tạo trình kích hoạt Trường này trống
sql_mode Chế độ SQL khi tạo trình kích hoạt Trường này trống
Người tạo Người tạo trình kích hoạt
character_set_client Bộ ký tự của khách hàng khi tạo Trường này trống
collation_connection Quy tắc sắp xếp của kết nối khi tạo Trường này trống
Database Collation Quy tắc sắp xếp của cơ sở dữ liệu

Ví dụ


opengauss=# -- Tạo bảng và hàm kích hoạt
opengauss=# CREATE TABLE bang_nguon(id1 INT, id2 INT, id3 INT);
CREATE OR REPLACE FUNCTION ham_kich_hoat() RETURNS TRIGGER AS $$
DECLARE
BEGIN
  INSERT INTO bang_dich VALUES(NEW.id1, NEW.id2, NEW.id3);
  RETURN NEW;
END $$ LANGUAGE PLPGSQL;

-- Tạo trình kích hoạt
CREATE TRIGGER kich_hoat_truoc_chen BEFORE INSERT ON bang_nguon FOR EACH ROW EXECUTE PROCEDURE ham_kich_hoat();

-- Hiển thị thông tin
SHOW TRIGGERS;

CREATE TABLE
opengauss=# CREATE TABLE bang_dich(id1 INT, id2 INT, id3 INT);
CREATE TABLE
opengauss=# CREATE OR REPLACE FUNCTION ham_kich_hoat() RETURNS TRIGGER AS $$
DECLARE
BEGIN
  INSERT INTO bang_dich VALUES(NEW.id1, NEW.id2, NEW.id3);
  RETURN NEW;
END $$ LANGUAGE PLPGSQL;
CREATE FUNCTION
opengauss=# -- Tạo trình kích hoạt
opengauss=# CREATE TRIGGER kich_hoat_truoc_chen BEFORE INSERT ON bang_nguon FOR EACH ROW EXECUTE PROCEDURE ham_kich_hoat();
CREATE TRIGGER
opengauss=# -- Hiển thị thông tin
opengauss=# SHOW TRIGGERS;
    Trigger     | Event  |        Table         |              Statement              | Timing | Created | sql_mode | Definer | character_set_client | collation_connection | Database Collation
----------------+--------+----------------------+-------------------------------------+--------+---------+----------+---------+----------------------+----------------------+--------------------
 kich_hoat_truoc_chen | INSERT | bang_nguon | EXECUTE PROCEDURE ham_kich_hoat() | BEFORE |         |          | wyc     |                      |                      | en_US.UTF-8
(1 row)

Thẻ: OpenGauss sql Triggers PLPGSQL Database Management

Đăng vào ngày 25 tháng 5 lúc 23:09