is_paid is never updated...
-Mitch
----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Mitch Vincent" <mitch@venux.net>
Cc: <pgsql-general@postgresql.org>
Sent: Tuesday, January 23, 2001 10:56 AM
Subject: Re: [GENERAL] Another plpgsql question..
> "Mitch Vincent" <mitch@venux.net> writes:
> > CREATE FUNCTION invoice_payment() RETURNS OPAQUE AS '
> > BEGIN
>
> > UPDATE invoice_master SET total = total - NEW.amount,updated = now(),
> > is_paid=(CASE WHEN (total - NEW.amount) = 0.00 THEN ''t'' ELSE ''f''
END)
> > WHERE invoice_id = NEW.invoice_id;
>
> > RETURN NEW;
>
> > END;
> > ' LANGUAGE 'plpgsql';
>
> > Ok, thanks for the heads up on now().. That works but I add the last
part of
> > the query in there and everything but the last part works.. Can I not do
> > CASE WHEN statements in functions like that? That query works when I run
it
> > straight from psql but so did the other, so I'm wondering if the same
kind
> > of problem is happening here too..
>
> It looks fine to me. Please define "everything but the last part works"
> more precisely.
>
> regards, tom lane
>