テーブルに挿入する前にすべての列の値を検証する必要があるため、トリガー関数ですべての列名とその値を取得するにはどうすればよいですかNEW
。トリガー関数として。しかし、NEW.myColumnName
ここでは列名を動的に取得する必要があります...
CREATE FUNCTION insert_update_validate() RETURNS TRIGGER AS $$
DECLARE
BEGIN
FOR i IN 0..(TG_ARGV-1) LOOP
IF TG_ARGV[i] IS NULL THEN
RAISE EXCEPTION 'cannot have null VALUE', NEW.TG_ARGV[i];
END LOOP;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;