Re: function likes sprintf - Mailing list pgsql-general

From Mikhail V. Majorov
Subject Re: function likes sprintf
Date
Msg-id 3A8D3184.432DF4DA@ttn.ru
Whole thread Raw
In response to function likes sprintf  ("Mikhail V. Majorov" <mik@ttn.ru>)
Responses Re: function likes sprintf  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Richard Huxton wrote:
>
> From: "Mikhail V. Majorov" <mik@ttn.ru>
>
> > Hi all!
> >
> > Do pgsql function like sprintf() in C?
> > I write trigger function using plpgsql.
> >
> > This my code:
> > sqlcommand := textcat(''CREATE USER '',NEW.usename);
> > sqlcommand := textcat(sqlcommand, ''WITH SYSID '');
> > sqlcommand := textcat(sqlcommand, NEW.id);
> > sqlcommand := textcat(sqlcommand, ''WITH PASSWORD '');
> > sqlcommand := textcat(sqlcommand, passwd);
> > INSERT INTO todo_surep_user VALUES (sqlcommand, now(), '''');
> >
> > How do I replace "textcat" on another construct of language?
>
> You can use the || operator such as:
>
> sqlcommand := "CREATE USER " || NEW.usename || "WITH SYSID" ...
>
> If you are after the more advanced formatting %7.3f stuff you'll need to
> look at the various procedural languages (pltcl,plperl) - you could write
> you own function to emulate sprintf but I don't think the interface supports
> a variable number of parameters.

Thanks for guess.
I use plpgsql becase this language permit to use SQL command.
As I undestand I can't use SQL command from plperl or pltcl. Is it
right?

Mik.

pgsql-general by date:

Previous
From: "Richard Huxton"
Date:
Subject: Re: [araman@india-today.com: locking problem with JDBC (suspicion)]
Next
From: Mike Mascari
Date:
Subject: RE: Triggers and RI-style behavior.