[linux-programlama] Re: MySQL'de 2 islemi tek sorguda halletmek

---------

From: Yüksel ÖZCAN (yukselozcan@celiknet.com)
Date: Wed 08 Oct 2003 - 10:52:52 EDT

  • Next message: ougur@infotech.com.tr: "[linux-programlama] Re: MySQL'de 2 islemi tek sorguda halletmek"

    Sanırım hemen alttaki kod kesinlikle calisacak
     update stok_kartlari
     set miktar = (select hareket_miktari from stok_hareketleri where
    fis_no='000005' )
     where stok_id = (select stok_id from stok_hareketleri where
    fis_no='000005' )

    Çalışmayabilir de :)) emin değilim açıkçası

    ----- Original Message -----
    From: "Yüksel ÖZCAN" <yukselozcan@celiknet.com>
    To: <linux-programlama@liste.linux.org.tr>
    Sent: Wednesday, October 08, 2003 5:43 PM
    Subject: [linux-programlama] Re: MySQL'de 2 islemi tek sorguda halletmek

    > > 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
    >
    >


  • Next message: ougur@infotech.com.tr: "[linux-programlama] Re: MySQL'de 2 islemi tek sorguda halletmek"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.