Re: Help : Update and insert record based on several value in the parameter - Mailing list pgsql-general

From Andrew Gierth
Subject Re: Help : Update and insert record based on several value in the parameter
Date
Msg-id 87pnsfhb97.fsf@news-spur.riddles.org.uk
Whole thread Raw
In response to Help : Update and insert record based on several value in the parameter  (Hengky Lie <hengkyliwandouw@gmail.com>)
List pgsql-general
>>>>> "Hengky" == Hengky Lie <hengkyliwandouw@gmail.com> writes:

 Hengky> Hi,

 Hengky> I want to create a function to update my table (flag='9') and
 Hengky> insert new record (flag='0') with the rfidnumber specified in a
 Hengky> parameter.

rfidnumber is stored as text/varchar? if it's something else, change the
suggestions below accordingly.

 Hengky> This parameter may have several value seperated by space (ie.
 Hengky> 11 22 33 44)

update ... and rfidnumber = any (string_to_array(znumber,' '))

Or, do the split just once:

DECLARE
  z_ids text[] := string_to_array(znumber, ' ');
BEGIN
  update ... where flag='0' and rfidnumber =any (z_ids);
  insert into ...
  select localtimestamp, '0', id from unnest(z_ids) as u(id);

-- 
Andrew (irc:RhodiumToad)


pgsql-general by date:

Previous
From: Hengky Lie
Date:
Subject: Help : Update and insert record based on several value in the parameter
Next
From: Pavel Stehule
Date:
Subject: Re: Help : Update and insert record based on several value in the parameter