Received: from clubserv.rp-online.de (clubserv.rp-online.de [149.221.232.11]) by hub.org (8.9.2/8.9.1) with ESMTP id HAA70412 for ; Sat, 10 Apr 1999 07:50:52 -0400 (EDT) (envelope-from Michael.Meskes@gmx.net) Received: from pc63.rp-plus.de (as11-asy34.rp-plus.de [149.221.93.162]) by clubserv.rp-online.de (8.9.1a/8.9.1) with ESMTP id NAA00518; Sat, 10 Apr 1999 13:49:46 +0200 (METDST) Received: (from meskes@localhost) by pc63.rp-plus.de (8.9.3/8.9.0/Debian/GNU) id MAA02077; Sat, 10 Apr 1999 12:00:11 +0200 Date: Sat, 10 Apr 1999 12:00:11 +0200 From: Michael Meskes To: Antonello De Santis Cc: pgsql-interfaces@postgresql.org Subject: Re: [INTERFACES] Questions about pq library and ecpg Message-ID: <19990410120011.D2048@gmx.net> Mail-Followup-To: Antonello De Santis , pgsql-interfaces@postgresql.org References: <99032716072200.01169@zeman> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4i In-Reply-To: <99032716072200.01169@zeman>; from Antonello De Santis on Sat, Mar 27, 1999 at 03:43:23PM +0100 On Sat, Mar 27, 1999 at 03:43:23PM +0100, Antonello De Santis wrote: > ... > Is it possible to accomplish a query on a table whose name is specified in a > variable? That is, something like the following: > > strcpy(str, 'table'); > result=PQexec(conn, "insert into str values('Rome', 10)"); > > I guess a code like the above one would not give the expected result..... Is > there a way to work that out? > I'm trying to use the ecpg preprocessor to pass arguments of a query in > variables, but I get a few errors.... Here's the piece of code that doesn't > work: > ... Yes, that won't work. But if you commands do not have to transfer data from the database to C variables you can use "exec sql execute immediate :str" for whatever command you wrote into the variable string. Or you could use PREPARE to prepare the statement and then use EXECUTE to execute it as often as you like. Check test1.pgc in the source tree for an example. Michael -- Michael Meskes | Go SF 49ers! Th.-Heuss-Str. 61, D-41812 Erkelenz | Go Rhein Fire! Tel.: (+49) 2431/72651 | Use Debian GNU/Linux! Email: Michael.Meskes@gmx.net | Use PostgreSQL!