Обсуждение: Return value in function/trigger
I have created a trigger and the function executed by the trigger.
However the function merely updates values in a table and doesn't return
any result/value. what is the correct way of "returning" nothing?
I have written this but using "return new" seems pointless as I don't
need(?) to return anything.
create or replace function update_invoice_price() returns opaque as '
begin
update invoices set total_price=(select sum(price) from invoice_li
where invoice_id=new.invoice_id) where id=new.invoice_id;
return new;
end;
' language 'plpgsql' with (iscachable);
create trigger update_invoice_li_price after update
on invoice_li for each row
execute procedure update_invoice_price();
Thanks!
Jc
On Wed, 20 Nov 2002, Jean-Christian Imbeault wrote: > I have created a trigger and the function executed by the trigger. > However the function merely updates values in a table and doesn't return > any result/value. what is the correct way of "returning" nothing? You could return NULL but new is probably just as good.
Stephan Szabo wrote: > > You could return NULL but new is probably just as good. Which is better/faster and why? I would think there is some overhead in returning NEW whereas returning NULL would have less? Jc
Jean-Christian Imbeault <jc@mega-bucks.co.jp> writes: > Which is better/faster and why? I would think there is some overhead > in returning NEW whereas returning NULL would have less? I'd suspect returning NULL (or just 'RETURN;') would be a few cycles faster. However, unless the tuple you're returning is *really* large, I doubt it would make a significant performance difference. Cheers, Neil -- Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC