Re: SELECTing from a function where i don't want the results - Mailing list pgsql-admin

From Ron
Subject Re: SELECTing from a function where i don't want the results
Date
Msg-id 911059a0-d138-7ea3-044e-0d7ca71755a2@gmail.com
Whole thread Raw
In response to Re: SELECTing from a function where i don't want the results  (Wells Oliver <wells.oliver@gmail.com>)
Responses Re: SELECTing from a function where i don't want the results  (Wells Oliver <wells.oliver@gmail.com>)
List pgsql-admin
Your original question says that the function returns the number of rows deleted.  That's one line.  Now you're saying that it returns one row per table-row deleted.  Which is it?

On 7/7/20 7:21 PM, Wells Oliver wrote:
ha, the CTE approach to only get one line of output versus however many hundreds of rows were used for the delete is perfect. Thanks.

On Tue, Jul 7, 2020 at 5:18 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Tuesday, July 7, 2020, Wells Oliver <wells.oliver@gmail.com> wrote:
Vanilla SQL script calls a plpgsql function to delete some number of rows from three tables:

SELECT mydelete(r) FROM sometable;

Where sometable contains maybe 100+ records. This causes the results from the function (integer of number of rows removed) to be displayed in the output, like you'd kinda expect with a SELECT call, except I don't want to see it all, I just want the function quietly executed and rows removed.

Can I accomplish this?


Pure SQL, no, you cannot just ignore the output.  You can perform post-processing (via CTE/WITH) to reduce how much is printed (aggregates). If you are using psql you can send it to /dev/null.  You could use a DO block and (kinda) ignore the result (SQL) and/or stick it into a throw-away variable (plpgsql).

David J.



--

--
Angular momentum makes the world go 'round.

pgsql-admin by date:

Previous
From: Wells Oliver
Date:
Subject: Re: SELECTing from a function where i don't want the results
Next
From: Wells Oliver
Date:
Subject: Re: SELECTing from a function where i don't want the results