PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

cách tạo trình kích hoạt sự kiện để tạo bảng hoặc chọn vào

đây là mã của tôi, nó đáp ứng nhu cầu của tôi

mã:

CREATE OR REPLACE FUNCTION trg_create_table_func()
RETURNS event_trigger
LANGUAGE plpgsql
AS $$
DECLARE
    obj record;    
BEGIN
  FOR obj IN SELECT * FROM pg_event_trigger_ddl_commands() WHERE command_tag in ('SELECT INTO','CREATE TABLE','CREATE TABLE AS')
  LOOP
        if   obj.object_identity !~ 'public.temp_'  
        THEN
        raise EXCEPTION 'The table name must begin with temp_';
        end if;
        END LOOP;
END;
$$;

CREATE EVENT TRIGGER trg_create_table ON ddl_command_end
WHEN TAG IN ('SELECT INTO','CREATE TABLE','CREATE TABLE AS')
EXECUTE PROCEDURE trg_create_table_func();

ra recod

[Err] LỖI:Tên bảng phải bắt đầu bằng temp_CONTEXT:Hàm PL / pgSQL trg_create_table_func () dòng 10 tại RAISE

thật tuyệt ~



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cột lỗi c.CreateOn không tồn tại ... trong nhật ký PostgreSQL trong quá trình khởi tạo ngữ cảnh đầu tiên của mã bằng cách sử dụng nhà cung cấp Devart dotConnect

  2. Nhiều giá trị mặc định được chỉ định cho id cột của bảng

  3. PostgreSql:Json Array to Rows bằng cách sử dụng liên kết bên

  4. Cách tạo Tổng thời gian chạy vòng quay

  5. Cách sử dụng chỉ mục trong truy vấn SELECT MAX (id) bảng ngoại trong PostgreSQL?