Re: SELECT... FOR UPDATE
От | David Griffiths |
---|---|
Тема | Re: SELECT... FOR UPDATE |
Дата | |
Msg-id | a4kdul$2eln$1@jupiter.hub.org обсуждение исходный текст |
Ответ на | ... (GB Clark <postgres@vsservices.com>) |
Список | pgsql-sql |
SELECT .... FOR UPDATE; locks all records returned from the SELECT. Anyone who tries to update any one of those records will block until you commit, rollback (or the connection is dropped and a rollback issued). It will ensure that no-one can modifiy the record(s). David "GB Clark" <postgres@vsservices.com> wrote in message news:20020215155107.1e405665.postgres@vsservices.com... > Hi, > > Can anyone give me a couple of examples or a explanation of select for update is supposed to work? > > I've looked in the manual and the locking stuff is confusing (or it could just be me not understanding..)) > and neither of my SQL books go into any type of detail on locking. > > What I want to do is select a record, do something and then update that record to reflect the outcome > of the processing with 0% chance of another process doing the same thing. Is this possiable? > > my idea: > > BEGIN > SELECT * FROM table1 WHERE record_id = '290202' FOR UPDATE > -- Do processing here > UPDATE table1 SET flag1 = '11' WHERE record_id = '290202' > COMMIT > > Just looking for more information.... > > Thanks, > > GB > > -- > GB Clark II | Roaming FreeBSD Admin > gclarkii@VSServices.COM | General Geek > CTHULU for President - Why choose the lesser of two evils? > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly
В списке pgsql-sql по дате отправления: