|
Hi,
I've been trying to create a debugging function that would receive a tablename and a list of columns and then the function would display all the contents of the table using the RAISE command. CREATE OR REPLACE FUNCTION usp_PG_DUMPTEMPTABLE(varchar(100), text[]) RETURNS void AS $BODY$ DECLARE _temptable ALIAS FOR $1; _temparray alias for $2; _i integer; _max integer; _tempstring varchar(2000); BEGIN _tempstring := 'RAISE INFO'''; for _i in 1 ..array_upper(_temparray, 1) loop _tempstring := _tempstring || _temparray[_i] || ' ' ; end loop; _tempstring := _tempstring || ''';'; raise info'%', _tempstring; execute _tempstring; raise info '---'; RETURN; END; $BODY$ LANGUAGE 'plpgsql'; for some reason, the EXECUTE command issues an error at the start fo the RAISE command...help? Error from PG Admin III ERROR: syntax error at or near "RAISE" LINE 1: RAISE DEBUG 'SKUID CatID '; ^ QUERY: RAISE DEBUG 'SKUID CatID '; CONTEXT: PL/pgSQL function "usp_pg_dumptemptable" line 42 at EXECUTE statement Checked all the docs I could find and I couldn't find any info... I couldn't figure out why....so a simple test
would be just to execute a literal string (instead of a variable holding a
dynamic one) with a raise command...turns out execute cannot run the raise
command...
e.g.
execute 'RAISE INFO ''test ''';
issues an Error in PG Admin
III.
any help would be greatly appreciated....I think RAISE was
never intended to be used this way...but as you can see in the function, it
could prove useful once finished...the ability to display contents of a table
for debugging...
Regards
|