|
|
 | | From: | Michael Fuhr | | Subject: | Re: Returning a bool on DELETE in a proc. | | Date: | Tue, 18 Jan 2005 11:52:02 -0700 |
|
|
 | On Tue, Jan 18, 2005 at 05:04:58PM +0100, KÖPFERL Robert wrote:
> I'm currently writing a function which encapsulates a delete and should > return a bool as indicator for success.
How do you define success? When the delete affects one or more rows?
> DELETE FROM "TariffDetails" WHERE "TariffId"=$1 and "BNumberPrefix"=$2; > SELECT TRUE; > > but this makes me not happy. > How can I distingruish wehter DELETE affected 0 or more rows and return that > while DELETE is not capable of returning any value?
If you're using PL/pgSQL then see "Obtaining the Result Status" in the "Basic Statements" section of the PL/pgSQL documentation.
> And is the whole function executed if the DELETE fails or will it stop > bevore the select?
A PL/pgSQL function should exit immediately with an error if the DELETE fails. But understand that PL/pgSQL's notion of a failure might not match yours: trying to delete from a non-existent table is a failure, but deleting zero rows from an existing table isn't.
-- Michael Fuhr http://www.fuhr.org/~mfuhr/
---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
|
|
|