Re: pltcl function -> plpgsql - Mailing list pgsql-sql

From Jan Wieck
Subject Re: pltcl function -> plpgsql
Date
Msg-id 200201032101.g03L12I16689@saturn.jw.home
Whole thread Raw
In response to pltcl function -> plpgsql  ("guard" <guard@ficnet.net>)
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: How to union tables and have a field with UNIQUE constraint?
Next
From: Stephan Szabo
Date:
Subject: Re: How to union tables and have a field with UNIQUE constraint?