2
如何獲取觸發器函數中的所有列名及其值,因爲我需要在插入表之前驗證所有列值。我已經嘗試了下面的代碼。如果我們知道列名字的意思是,我們可以通過觸發功能使用NEW
對象輕鬆獲得價值NEW.myColumnName
。但在這裏,我需要動態獲取列名...在postgresql中使用觸發函數獲取表中的所有列名稱
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;