Thread: Execute a string of command in sql'script

Execute a string of command in sql'script

From
"pblunat"
Date:
Hi all,
 I'm using PostgreSQL 7.0.2 on RedHat 6.0.

 I compose a SQL command string with function below :


 CREATE FUNCTION bdrm_copy(text, text) RETURNS text AS '

  DECLARE
   baseact  ALIAS FOR $1;
   namefich ALIAS FOR $2;
   path0 TEXT;
   path1 TEXT;
   path2 TEXT;
   path3 TEXT;
  BEGIN
   SELECT INTO path0 CAST(ig_tempo AS TEXT)
   FROM ti_bdrm
   WHERE ig_base = baseact;
   path0  := trim(path0) || trim(namefich);
   path1 := ''COPY ttx_window7 TO \'\''';
   path2 := path1 || path0;
   path3 := ''\'\''';
   path0  := path2 || path3 || '';'';
   RETURN path0 ;
  END;'
 LANGUAGE 'plpgsql';


 the result of :

 SELECT bdrm_copy('MOHO99', 'test2.txt') AS my_command_string;

 is :

                my_command_string
 -----------------------------------------------
  COPY ttx_window7 TO '/db/bdrm/out/test2.txt';


 Is it possible to execute this line of command? More generally, can one
 execute the contents of a variable or a field in postgresql' script?

Thanks ;)-




Re: Execute a string of command in sql'script

From
"Robert B. Easter"
Date:
In 7.1, PL/pgSQL has an "EXECUTE <query-string>" statement that can execute
dynamically created query strings.  See the development docs at
postgresql.org.


On Friday 19 January 2001 11:54, pblunat wrote:
> Hi all,
>  I'm using PostgreSQL 7.0.2 on RedHat 6.0.
>
>  I compose a SQL command string with function below :
>
>
>  CREATE FUNCTION bdrm_copy(text, text) RETURNS text AS '
>
>   DECLARE
>    baseact  ALIAS FOR $1;
>    namefich ALIAS FOR $2;
>    path0 TEXT;
>    path1 TEXT;
>    path2 TEXT;
>    path3 TEXT;
>   BEGIN
>    SELECT INTO path0 CAST(ig_tempo AS TEXT)
>    FROM ti_bdrm
>    WHERE ig_base = baseact;
>    path0  := trim(path0) || trim(namefich);
>    path1 := ''COPY ttx_window7 TO \'\''';
>    path2 := path1 || path0;
>    path3 := ''\'\''';
>    path0  := path2 || path3 || '';'';
>    RETURN path0 ;
>   END;'
>  LANGUAGE 'plpgsql';
>
>
>  the result of :
>
>  SELECT bdrm_copy('MOHO99', 'test2.txt') AS my_command_string;
>
>  is :
>
>                 my_command_string
>  -----------------------------------------------
>   COPY ttx_window7 TO '/db/bdrm/out/test2.txt';
>
>
>  Is it possible to execute this line of command? More generally, can one
>  execute the contents of a variable or a field in postgresql' script?
>
> Thanks ;)-

--
-------- Robert B. Easter  reaster@comptechnews.com ---------
-- CompTechNews Message Board http://www.comptechnews.com/ --
-- CompTechServ Tech Services http://www.comptechserv.com/ --
---------- http://www.comptechnews.com/~reaster/ ------------