> 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).