Selam arkadaşlar,
20000 kayıt içinden 1000 kayıtı ı değiştirmem gerekiyor.
update TABLE1 SET GUNCELEME_TARIH = current_date Where TABLE1.RECORD_ID = 3
1000 defa döngüye giriyorum.
bunun yerine
update TABLE1 SET GUNCELEME_TARIH = current_date Where ((TABLE1.RECORD_ID = 3) or
(TABLE1.RECORD_ID = 4) or
(TABLE1.RECORD_ID = 13) or
(TABLE1.RECORD_ID = 48) or
.
.
.
(TABLE1.RECORD_ID = 18722))
toplamda 1000 adet TABLE1.RECORD_ID = eklenmesi ile çok uzun bir query oluşucak
max query text sınırını ne kadardır? değiştirmek mümkün mü?
Firebird versiyonum 2.1.1.17910
Firebird Query text uzunluğu ne kadardır?
- Yusuf AYDIN
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2004 05:45
- Konum: Antalya
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: Firebird Query text uzunluğu ne kadardır?
Aslında where şartı TABLE1.RECORD_ID in (3,4,13,48,..,18722) şekline çevirirseniz bayağı boyut tasarrufu sağlarsınız aslında. Sorgu boyut limiti olarak 10 MB diyorlar sanki.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: Firebird Query text uzunluğu ne kadardır?
Firebird için emin değilim ama MSSQL'de IN içine ayrı bir boyut sınırı var.
Re: Firebird Query text uzunluğu ne kadardır?
bence kurgunu düzenlemen daha mantıklı. bu bir sefere mahsus bir şey ise, olabilir. Ama sürekliyse, tek tek row ları çağırıp güncellemek sql kullanmayı manasız kılıyor.
TABLE1.RECORD_ID listeni oluşturan şartları, where e uygulaman daha mantıklı.
TABLE1 de başka alanlar değiştiriyor ve bu değişiklik tarihini kaydetmek istiyorsan, TABLE1 e beforepost trigger ında bunu yapmak çok daha mantıklı olur. ikinci bir işleme de gerek kalmaz.
TABLE1.RECORD_ID listeni oluşturan şartları, where e uygulaman daha mantıklı.
TABLE1 de başka alanlar değiştiriyor ve bu değişiklik tarihini kaydetmek istiyorsan, TABLE1 e beforepost trigger ında bunu yapmak çok daha mantıklı olur. ikinci bir işleme de gerek kalmaz.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Firebird Query text uzunluğu ne kadardır?
eger veritabani ile program ayni bilgisayar üzerinde calisiyorsa, bir udf yazilip, icerigi doldurulmus "cift küme array" yada "item+value" özelligi olan bir class'in pointeri parametre olarak gönderilip islem yaptirilabilinir.
kıdemsiz üye
- Yusuf AYDIN
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2004 05:45
- Konum: Antalya
Re: Firebird Query text uzunluğu ne kadardır?
Where içinde ortak şartlar olmadığı için Query ye text olarak yazmam gerekiyordu ..
sabanakman beyin tekniği ile TABLE1.RECORD_ID in (3,4,13,48,..,18722) şeklinde hallettim.
"Table1.RECORD_ID in" ... parametre sayısı 1499 bilginiz olsun.
Herkese ilgisi için teşekkür ederim.
sabanakman beyin tekniği ile TABLE1.RECORD_ID in (3,4,13,48,..,18722) şeklinde hallettim.
"Table1.RECORD_ID in" ... parametre sayısı 1499 bilginiz olsun.
Herkese ilgisi için teşekkür ederim.