I found "no_data" here...
https://www.postgresql.org/docs/10/static/errcodes-appendix.html

update blah, blah...
if(no_data) then
  raise exception "update failed to update anything";
end if

Is that how you detect if nothing was updated and how to make sure the
thing returns and rolls back ?

On Wed, Oct 3, 2018 at 11:46 AM David Gauthier <davegauthie...@gmail.com>
wrote:

> Thanks Adrian and Christopher !
>
> So the transaction will be rolled back automatically if there's a
> problem.  Got it !
>
> Question:  How do I detect when it is appropriate to raise notice so as to
> be able to see the error message?  Or will that automatically be sent to
> stdout if an error occurs?
>
> Question: Also, how can I detect how many records were operated on by,
> say, an update statement?  In the example I gave, I would want to make sure
> that the transfer amount was deducted from the savings AND that the amount
> was added to the checking.  Both need to be 1, else I want to...
> 1) send a message (raise notice)
> 2) rollback somehow.
>
>
>
>
> On Tue, Oct 2, 2018 at 5:27 PM Adrian Klaver <adrian.kla...@aklaver.com>
> wrote:
>
>> On 10/2/18 1:47 PM, David Gauthier wrote:
>> > Hi:
>> > psql (9.6.7, server 9.5.2) on linux
>> >
>> > How does one get the status of an sql statement executed in plpgsql?
>> If
>> > that status is cryptic, how can that be translated to something which
>> > someone could understand?   Finally, how can I effectively do a start
>> > transaction and either rollback or commit based on the results of the
>> > sql statements run?
>> >
>>
>> >
>> > Of course I don't know what the <capture the status> and
>> > "something_went_wrong" pieces look like, or they even make sense with
>> > how this sort of thing shold be properly handled in plpgsql.  Also, in
>>
>> The below(read to bottom of the page) might help:
>>
>>
>> https://www.postgresql.org/docs/10/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>>
>>
>> > my trials, it appears that plpgsql doesn't like "start transaction".
>> So
>> > how is that piece done ?
>> >
>> > Thanks in Advance for any help !
>> >
>>
>>
>> --
>> Adrian Klaver
>> adrian.kla...@aklaver.com
>>
>

Reply via email to