dynamic plpgsql question
От | Marc Evans |
---|---|
Тема | dynamic plpgsql question |
Дата | |
Msg-id | 20061213105033.S4899@me.softwarehackery.com обсуждение исходный текст |
Ответы |
Re: dynamic plpgsql question
Re: dynamic plpgsql question |
Список | pgsql-general |
Hi - I am struggling with a trigger function in plpgsql, and am hoping that someone on this list can't show me a way to do what I need. In the trigger, TG_ARGV[0] is the name of a column that I want to evaluate. This code shows the concept, though is not functional: CREATE OR REPLACE FUNCTION foo() RETURNS TRIGGER AS $$ DECLARE column_name TEXT := TG_ARGV[0]; data TEXT; BEGIN EXECUTE 'SELECT NEW.' || column_name INTO data; -- ... END; $$ LANGUAGE plpgsql; When I try to use that code, I receive: c3i=> insert into test_table values (1,1); ERROR: NEW used in query that is not in a rule CONTEXT: SQL statement "SELECT NEW.magic" How can I get the value of NEW.{column_name} (aka NEW.magic in this specific test case) into the variable data? For completeness, I am using version 8.2.0. Thanks in advance - Marc
В списке pgsql-general по дате отправления: