From: Yüksel ÖZCAN (yukselozcan@celiknet.com)
Date: Wed 08 Oct 2003 - 10:43:42 EDT
> Merhaba;
Özgür bey ilginize teşekkür ederim.
> Hemen bir deneme yapiyorum, evet cal=FDsti.
> Sizin isinize yararmi bilmem tabi.
>
> update users
> set LAST_LOGIN_TIME_STAMP=3D(select
> LAST_LOGIN_TIME_STAMP-1
> from users
> where username=3D'ozgur' )
> where username=3D'ozgur2'
yalnız bana sunu gibi bisey lazim,
update stok_kartlari
set miktar = (select hareket_miktari, stok_karti_id
from stok_hareketleri
where fis_no='000005' )
where stok_id = stok_karti_id
yani stok kartlari tablosunda stok_id sine bakip miktar kismini guncellemem
gerekiyor.
Bunun içinde stok harekeleri tablosunda fis numarasi '000005' olan
hareketlerin stok_id ve hareket_miktari' ni alip, aldigim stok_id sine
bakarak ilgili stok kartinin miktar kismini guncellemek istiyorum. Eve
gidince yukarıdaki ornekleri deneyecegim ama sanırım calismayacak. Simdilik
bu islemi 2 sorguda dongu ile hallediyorum. Yalnız bunlarıi c(php degil) ile
yaptigim icin tablo optimizasyonuna bi sekilde zarar veriyor. Sanırım
mysql_free_result falan yapmam lazim. Onu da yapamiyorum cunku ilgili
stok_fisinde 1'den fazla kayıt oldugunda(genelde cok kayit olur) free_result
yaparsam sadece ilk satiri alir, fis icerisindeki diger satirlara ulasamam.
Optimizasyonun bozulması dataları riske atacagindan dolayi sanirim daha
farklı(muhtemelen uzun) çözümler bulmam gerekiyor. Herseye ragmen birisinin
konuyla ilgilenmesi guzel ve takdir edilecek bir olay.
>
>
> Kolay gelsin.
>
> not: oracle da denedim. (ikinci query i sub query saymazsak mysqlde de
> calismali)
>
> Ozgur Ugur
> Bil.Muh-Istanbul
> Infotech