1

Temat: DELETE z opcją LIMIT

Witam

Ciekawi mnie czy da się w postgresie zrobić zapytanie ,które usunie mi tylko 1 rząd z mimo warunku zapytania.

Objaśnienie:

Mam tabelke:

CREATE TABLE proba
(
  a1 integer,
  a2 character varying
)

Dodaje do niej dane:

insert into proba(a1,a2) select 1,'pol'
insert into proba(a1,a2) select 1,'pol'

Mam w niej dwa identyczne rzędy.

Teraz chciałbym zrobić to o co mi głównie chodzi.

delete from proba where a1 = 1 and a2 = 'pol' LIMIT 1

czyli chcę by skasował mi tylko jeden rząd.

Proszę was o pomoc

2

Odp: DELETE z opcją LIMIT

DELETE FROM proba
WHERE ctid =
    (SELECT ctid
    FROM proba
    WHERE a1 = 1 AND a2 LIKE 'pol'
    LIMIT 1);
DELETE 1
TABLE proba;
 a1 | a2  
----+-----
  1 | pol
(1 row)

Ostatnio edytowany przez gszpetkowski (2011-08-21 16:20:46)