From: | Erkin Tek <erkintek(at)fotograf(dot)web(dot)tr> |
---|---|
To: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Fwd: Re: tekil olmayan kolona tekil anahtar eklesek? |
Date: | 2006-11-16 06:30:46 |
Message-ID: | 200611160830.46821.erkintek@fotograf.web.tr |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
Timu Bey'e ve Murat Bey'e teşekkür ederim, Volkan Bey'in önerisi (aşağıda)
daha SQL geldi, estetik geldi. Fakat ben bu önerileri deneyemeden yanlış bir
delete ile tabloyu boşalttım :(
Böyle durumlarda babamın "tembeller daha çok yorulur" sözü geliyo :)
Teşekkür ederim.
---------- Yönlendirilmiş İleti ----------
From: yazicivo(at)ttnet(dot)net(dot)tr
Subject: Re: tekil olmayan kolona tekil anahtar eklesek?
Date: Çar 15 Kas 2006 18:32
To: Erkin Tek <erkintek(at)fotograf(dot)web(dot)tr>
---- Erkin Tek <erkintek(at)fotograf(dot)web(dot)tr> demiş ki:
> Bir tabloma tekil anahtar eklememiş, dolayısiyle, aynı anahtara sahip
> girdiler var, fakat (direkt tembelliğimden) tekrar girmek istemiyorum.
> 1. seçeneğim 3 tane olan kayıttan ikisini silmek
> delete from arac where at_id=3 limit 2; işe yaramadı
> 2. seçenek at_id'leri birer birer arttırmak ki
> update arac set at_id=rownum
> oracle sql'inde rownum vardı, bir deneme olarak yaptım, olmadı
>
> bilemedim, arada başıma geliyor, bu kolonu (at_id) nasıl otomatik
> arttırabilirim ki? Tek amaç bunun tekil anahtar olması, her türlü yol mübah
> olarak bakıyorum (e tabi belli kriterler içinde :P )
ALTER TABLE ile serial tipinde yeni bir sütun ekleyin, at_id_new diye. UPDATE
... SET at_id_new = nextval(...)... ile tüm satirlarin kendine ait bir
unique id almasını sağlayın. Daha sonra at_id sütununu silip, at_id_new'in
adını at_id yapabilirsiniz.
Buna bir bakın. Olmazsa, başka yollara bakarız.
İyi çalışmalar.
-------------------------------------------------------
---------- Yönlendirilmiş İleti ----------
From: Murat Ârif ÇELİKER <murat(dot)celiker(at)gmail(dot)com>
Subject: Re: [pgsql-tr-genel] tekil olmayan kolona tekil anahtar eklesek?
Date: Çar 15 Kas 2006 12:11
To: Erkin Tek <erkintek(at)fotograf(dot)web(dot)tr>
1. seçenek şu şekilde olabilir; (2 tanesini silmek için)
delete from arac where id in (select id from arac liste where
liste.at_id = arac.at_id limit 2)
(id'yi özel anahtar olarak varsayıyorum.)
2. si şu şekilde olabilir
bir sequence oluşturun.
at_id'nin değerlerini sıfırlayın (update)
döngü içerisinde sırayla sequence değerini verin (update), sequence
değerini bir arttırın.
işlem sonrasında
tablonun at_id alanına sequence'i belirtin ki sonrasında da otomatik artsın.
Murat Ârif ÇELİKER
İkinokta Yazılım , Bursa
http://www.ikinoktayazilim.com
-------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Devrim GUNDUZ | 2006-11-16 07:02:55 | Listedeki sorular ve yanıtlar hakkında |
Previous Message | Timu EREN | 2006-11-15 19:45:59 | Re: tekil olmayan kolona tekil anahtar eklesek? |