Re: update only if single row
От | tjk@tksoft.com |
---|---|
Тема | Re: update only if single row |
Дата | |
Msg-id | 200004072242.PAA02410@uno.tksoft.com обсуждение исходный текст |
Ответ на | update only if single row (Frank Bax <fbax@execulink.com>) |
Список | pgsql-sql |
It is supposed to update multiple rows. It is supposed to update all rows which have an email address matching the pattern ~* 'rvro', except rows where there are other rows with the same email address. Troy > > > Except for one minor detail. It updates multiple rows! > > At 02:39 AM 4/07/00 -0700, you wrote: > >Excellent solution. > > > >You can use oid as the unique attribute. > > > > UPDATE contact SET bounce = 1 WHERE email ~* 'rvro' AND email NOT IN > > (SELECT c1.email FROM contact c1, contact c2 > > WHERE c1.oid != c2.oid AND c1.email = c2.email); > > > >Troy > >> > >> Hi > >> > >> FB> select * from contact where email ~* 'rvro'; > >> FB> if I get a single row in the result then I enter: > >> FB> update contact set bounce=1 where email ~* 'rvro'; > >> > >> FB> Can I combine this into a single SQL statement with the following > >> FB> requirements: > >> FB> 1) the update is only performed if a single row is selected > >> FB> 2) I only enter the selection string ('rvro' in this case) once in the > >> FB> command? > >> > >> Assume that pk is PRIMARY KEY (or UNIQUE attribute) of relation contact. > >> > >> UPDATE contact SET bounce = 1 WHERE email ~* 'rvro' AND NOT email IN > >> (SELECT c1.email FROM contact c1, contact c2 > >> WHERE c1.pk != c2.pk AND c1.email = c2.email); > >> > >> LPK Station mailto:kl@84105.aanet.ru >
В списке pgsql-sql по дате отправления: