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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: How to union tables and have a field with UNIQUE constraint?
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: How to union tables and have a field with UNIQUE constraint?