PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

cara membuat pemicu acara untuk membuat tabel atau memilih menjadi

ini kode saya, ini memenuhi kebutuhan saya

kode:

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

rekaman habis

[Err] ERROR:Nama tabel harus dimulai dengan temp_CONTEXT:PL/pgSQL function trg_create_table_func() baris 10 di RAISE

itu keren



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Replikasi lag - melebihi max_slot_wal_keep_size, segmen WAL tidak dihapus

  2. Hilangkan tanda kutip ganda dari bidang json secara selektif di PostgreSQL

  3. Pencarian teks lengkap Postgresql di postgresql - jepang, cina, arab

  4. Apakah karakter ini valid untuk XML?

  5. psql setel statement_timeout default sebagai pengguna di postgres