Re: pltcl function -> plpgsql
От | Jan Wieck |
---|---|
Тема | Re: pltcl function -> plpgsql |
Дата | |
Msg-id | 200201032101.g03L12I16689@saturn.jw.home обсуждение исходный текст |
Ответ на | pltcl function -> plpgsql ("guard" <guard@ficnet.net>) |
Список | pgsql-sql |
guard wrote: > dear all > > I have function >> > spi_exec "Update $1 set > adv_amt=adv_amt-$OLD(adv_amt)+$OLD(gadv_amt) where $2=''$OLD($2)'' " > > how to change plpgsql code > > ps. $1 a variable It would be nice to see the entire function declaration, or at least the CREATE FUNCTION part, and not just one single statement out of it's body. Second it looks alot like an AFTER UPDATE trigger to me. In that case, I would suggest changing it into a BEFORE UPDATE one and do the modification directly in the NEW.adv_amt field. The way you're doing it now add'sone more dead tuple to the table. The above is usually achieved in PL/pgSQL with the EXECUTE syntax. But I would discourage from that and suggest creating separate functions per table/attribute pair, because EXECUTE (as well as spi_exec in Tcl) statements are not cacheable. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com # _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
В списке pgsql-sql по дате отправления: