From: | Hengky Lie <hengkyliwandouw(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Help : Update and insert record based on several value in the parameter |
Date: | 2019-01-29 12:55:27 |
Message-ID: | CADvRrxOT3G2+LM+pmHQf5kKnC=4SD0Mkm9_J=aJmBdtms0+E7Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
I want to create a function to update my table (flag='9') and insert new
record (flag='0') with the rfidnumber specified in a parameter.
This parameter may have several value seperated by space (ie. 11 22 33 44)
CREATE OR REPLACE FUNCTION public.fcreate_rfid (
znumber varchar
)
RETURNS boolean AS
$body$
BEGIN
--update old record which has the same rfid number and flag='0' if exists
update tblrfid set flag='9' where flag='0' and rfidnumber in (znumber);
-- generate new record
insert into tblrfid(tanggal, flag, rfidnumber)
select localtimestamp, '0', regexp_split_to_table(znumber, ' ');
return true;
END;
$body$
LANGUAGE 'plpgsql';
when i called this function using command :
select fcreate_rfid('11 22 33 44');
This function fail to update the old record, but success to insert the new
record.
Please help me how to fixed this problem. I know the problem is the update
command, but i don't know the correct it. Googling anywhere didn't find a
solution.
Thank you
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Gierth | 2019-01-29 13:02:13 | Re: Help : Update and insert record based on several value in the parameter |
Previous Message | Hengky Lie | 2019-01-29 12:50:29 | Help : Update and insert record based on several value in the parameter |