> create function updateCat() returns opaque as '
> declare
> rec record;
> rename new to cat;
> rename old to ct;
> maxlen integer;
>
> begin
> if tg_op = ''INSERT'' and cat.category is null then
> raise exception ''You are missing entry for category field'';
>
> else
> if cat.display then
> maxlen:= addCount(cat.category);
> return cat;
> else
> return cat;
> end if;
> end if;
> if tg_op = ''DELETE''then
> maxlen:= delCount(ct.category);
> return ct;
> end if;
>
> end;
> ' language 'plpgsql';
I think you want your if blocks to be more like:
if tg_op = ''INSERT''
if cat.category is null
(raise exception)
else
(do insert stuff)
end if
end if
if tg_op = ''DELETE''
(do delete stuff)
end if
I think you're currently going to get into the
insert stuff on both inserts where it isn't
null and deletes (since in both cases the
and will be false).
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/users-lounge/docs/faq.html