sql >> Databáze >  >> RDS >> PostgreSQL

jak vytvořit spouštěč události pro vytvoření tabulky nebo výběru do

toto je můj kód, vyhovuje mým potřebám

kód:

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

out recods

[Chyba] CHYBA:Název tabulky musí začínat temp_CONTEXT:Funkce PL/pgSQL trg_create_table_func() řádek 10 na RAISE

je to v pohodě ~



  1. Jak vybrat určitá pole v Laravel Eloquent?

  2. Nelze vytvořit ovladač z NHibernate.Driver.NpgsqlDriver

  3. Základy tabulkových výrazů, část 9 – Pohledy, srovnání s odvozenými tabulkami a CTE

  4. PHP dotaz nezobrazuje všechny výsledky v html tabulce