Re: execute_values - Mailing list pgsql-general

From Adrian Klaver
Subject Re: execute_values
Date
Msg-id c283d614-44e5-4499-e25e-adbfc11b864c@aklaver.com
Whole thread Raw
In response to Re: execute_values  ("Weatherby,Gerard" <gweatherby@uchc.edu>)
List pgsql-general
On 7/10/19 5:09 AM, Weatherby,Gerard wrote:
> My insert has a "returning clause," I don't think execute batch supports that.

Well it will execute, it just will not return the values to you:(

What is your query and what are you doing with it?

> 
> --
> Gerard Weatherby| Application Architect
> NMRbox | Department of Molecular Biology and Biophysics | UConn Health
> 263 Farmington Avenue, Farmington, CT 06030-6406
> Phone: 860 679 8484
> uchc.edu
> 
> ________________________________________
> From: Adrian Klaver <adrian.klaver@aklaver.com>
> Sent: Tuesday, July 9, 2019 4:25 PM
> To: Weatherby,Gerard; pgsql-general@lists.postgresql.org
> Subject: Re: execute_values
> 
> On 7/9/19 11:04 AM, Weatherby,Gerard wrote:
>> ​Can I use pyscopy2.extras.execute_values with a prepared statement?
> 
> I don't think so as you cannot pass in VALUES():
> 
> cur.execute('prepare pt(integer, varchar, boolean) AS INSERT INTO
> prepare_test values ($1, $2, $3)')
> 
> execute_values(cur, 'EXECUTE pt(%s)', [(2, 'test', 'f'),])
> 
> SyntaxError: wrong number of parameters for prepared statement "pt"
> DETAIL:  Expected 3 parameters but got 1.
> 
> 
> execute_batch works though:
> 
> execute_batch(cur, 'EXECUTE pt(%s, %s, %s)', [(2, 'test', 'f'), (3,
> 'dog', 't')])
> 
> 
>>
>>
>> --
>> *Gerard Weatherby*| Application Architect
>> NMRbox | Department of Molecular Biology and Biophysics | UConn Health
>> 263 Farmington Avenue, Farmington, CT 06030-6406
>> Phone: 860 679 8484
>> uchc.edu
> 
> 
> --
> Adrian Klaver
> adrian.klaver@aklaver.com
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Restoring a database restores to unexpected tablespace
Next
From: Roger Pack
Date:
Subject: DRY up GUI wiki pages