Re: Returning a bool on DELETE in a proc.
От | Michael Fuhr |
---|---|
Тема | Re: Returning a bool on DELETE in a proc. |
Дата | |
Msg-id | 20050118185202.GA39033@winnie.fuhr.org обсуждение исходный текст |
Ответ на | Returning a bool on DELETE in a proc. (KÖPFERL Robert <robert.koepferl@sonorys.at>) |
Список | pgsql-sql |
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/
В списке pgsql-sql по дате отправления: