PDA

Orijinalini görmek için tıklayınız : Sql'de Döngü Oluşturma [MySQL]


humanwere
30-05-2009, 12:56:15
Merhabalar arkadaşlar.

1 tablomda yaklaşık 10k veri var. Yeni bir alan oluşturdum.
Bu alana ben sıra bilgisi atayacağım bu bilgide;

kaçıncı kayıt olduğuna bakacak sonra bulduğu değeri (mod 4)'e göre bir değer bulup içine atayacak

SQL Kodu:

set @sayi=0;
select @sayi:=((count(id)+1) mod 5) as sayi from hatlar;
update hatlar set sira=@sayi

şöyle 1 kod kullandım hepsine en son kaydın değerini atadı.

sitede ve internette bi araştırma yaptım ama sqlde döngü oluşturmayla ilgili hiç bişey bulamadım...

ben bunu illaki PHP, ASP gibi bir dil kullanarak mı yapıcam?
yok mudur bunun SQLde kolayı?

Biraz Karışık anlattım umarım anlarsınız kafam çok karıştı saatlerdir uğraşıyorum...

Meksikalı
30-05-2009, 16:43:36
MySQL de işler nasıl yürüyor tam bilmiyorum ama

DECLARE
CURSOR c_sayi IS
select ((count(id)+1) mod 5) as id from hatlar;
c_sayi_rec c_sayi%ROWTYPE;
BEGIN
OPEN c_sayi;
LOOP
FETCH c_sayi INTO c_sayi_rec;
EXIT WHEN c_sayi_rec%NOTFOUND;
update hatlar set sira = c_sayi_rec.id;
END LOOP;
CLOSE c_sayi;
END;

Şu şekilde Cursor & Loop ile yapabilirsin.
Dene bakalım olacakmı?