Using Execute with Dynamic Raise Commands - Mailing list pgsql-novice

From Robert Bernabe
Subject Using Execute with Dynamic Raise Commands
Date
Msg-id 4743E8F0.6020400@sandmansystems.com
Whole thread Raw
In response to Re: Database version control  (Emil Oppeln-Bronikowski <emil.oppeln.bronikowski@gmail.com>)
Responses Re: Using Execute with Dynamic Raise Commands  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice
Hi All,
   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


Regards

pgsql-novice by date:

Previous
From: "Rodrigo De León"
Date:
Subject: Re: need trigger help
Next
From: Tom Lane
Date:
Subject: Re: Using Execute with Dynamic Raise Commands