阅读背景:

postgresql 触发器例子1_一名数据库爱好者的专栏_postgresql触发器例子

来源:互联网 

触发器函数

CREATE OR REPLACE FUNCTION public.f_trg_tmp_wal_compress()
RETURNS trigger
LANGUAGE plpgsql
AS $function$ 
DECLARE
    VN_COUNT INTEGER;
BEGIN
    --语句级触发的不处理
    IF TG_LEVEL = 'STATEMENT' THEN
        RETURN NULL;
    END IF;
    
    --BEFORE触发的不处理
    IF TG_WHEN = 'BEFORE' THEN
        RETURN NULL;
    END IF;
    
    --DELETE 操作的不处理
    IF TG_OP in ('DELETE') THEN
        RETURN NULL; 
    END IF;
    
    if lower(TG_RELNAME) in ('tmp_wal_compress') then 
        RAISE NOTICE 'tmp_wal_compress.lastupdatetime begin [%]',NEW.id ;
        update public.tmp_wal_compress
           set lastupdatetime = now()
         where id=NEW.id
         ;
    end if;
    RETURN NULL;
EXCEPTION WHEN OTHERS THEN
    RAISE NOTICE 'tmp_wal_compress.lastupdatetime error [%]%', SQLSTATE, SQLERRM;
END; 
$function$

CREATE OR REPLACE FUNCTION publi



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: