From: | Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr> |
---|---|
To: | Ali Dereli <derelinux(at)gmail(dot)com> |
Cc: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Re: COPY ile doldurulmu |
Date: | 2006-03-10 21:53:28 |
Message-ID: | 20060310215328.GB184@alamut |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
On Mar 10 11:35, Ali Dereli wrote:
> Herkes ceşitli çözüm yolları sundu ama postgreSQL'inde çözüm sunması
> gerekirdi.
> COPY komutu calıstıktan sonra ilgili tablodaki ilk serial sutundaki en
> yüksek degeri sequence olarak atamak cokta zor olmazmıs gibi geliyor.
Bana daha çok siz pg_dump'ı doğru kullanmadınız gibi geliyor. Şöyle ki:
test=# \d seq
Table "public.seq"
Column | Type | Modifiers
--------+---------+-------------------------------------------------
s | integer | not null default nextval('seq_s_seq'::regclass)
u | integer |
v | integer |
test=# SELECT s, u, v FROM seq;
s | u | v
----+----+----
1 | 1 | 2
2 | 3 | 4
...
(12 rows)
$ pg_dump --table seq test
...
CREATE TABLE seq (
s serial NOT NULL,
u integer,
v integer
);
...
SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence('seq', 's'), 12, true);
...
COPY seq (s, u, v) FROM stdin;
1 1 2
2 3 4
...
Görüldüğü gibi pg_dump ile işler kolaylıkla halloluyor. Amcamlar benim
size önerdiğim setval() fonksiyonunu ise yukarıdaki gibi paşa paşa
kullanıyorlar.
İyi çalışmalar.
From | Date | Subject | |
---|---|---|---|
Next Message | Mehmet Uysal | 2006-03-11 15:13:45 | remote access |
Previous Message | Volkan YAZICI | 2006-03-10 20:27:08 | Re: COPY ile doldurulmu |