Fwd: Re: tekil olmayan kolona tekil anahtar eklesek?

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: Raw Message | Whole Thread | 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

-------------------------------------------------------

Browse pgsql-tr-genel by date

  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?