2017-05-26 8 views

答えて

0

はそれがない場合は、列がすでに移入された場合はNULLを返し、トリガー、または新しいオブジェクトを置くあなたのUPDATEで

UPDATE table_name 
SET column1 = value1, column2 = value2, ... 
WHERE column1 is not NULL; 
0

をWHERE句を使用します。

CREATE OR REPLACE FUNCTION public.safeguard_tg_fn() RETURNS trigger AS 
$BODY$BEGIN 

    --If the column was not set, allow updating the entire row 
    IF OLD.myimportantcol ISNULL THEN 
     RETURN NEW; 
    ELSE 
    --Else, the column is already populated, cancel the entire update (for this row only) 
     RETURN NULL; 
    END IF; 
END;$BODY$ LANGUAGE plpgsql; 

CREATE TRIGGER safeguard_tg BEFORE UPDATE 
    ON public.mytable FOR EACH ROW 
    EXECUTE PROCEDURE public.safeguard_tg_fn(); 
関連する問題