geçen gün timu sağolsun postgrede çalışan query leri query den görmeyi öğrendim sonra düşünürken dedim ulan bunları bir bir cancel edioz iyi hoşta aslında bir kısım select o tabloya update yapılırken çok bekleyebiliyor. olay web olunca 5 dakikadan uzun süredir çalışan queryleri bulmalıyım ve selectse ver kill i gitsin demi dedim bi kaç kişide hata alsın
sonuç güzel oldu
1
2
3
4
5
6
7
| select pg_cancel_backend(procpid) from (
SELECT * FROM pg_stat_activity
where current_query like '%select%'
and query_start < now() - interval '5 minute'
order by current_query
) a |
Yorum Yok »
mysql de falan direk hazır fonksiyonu olan bu işlemin(md5) db2 9.5 de hazır fonksiyonu yok şaka gibi dimi
neyse araştırdım falan yok. en sonunda kızanın biri java class ı koydurmayı göstermiş compile da problem olmaması hoşuma gitti serverlardaki java kurulumu tam yerinde olmuş demek direk “javac Md5.java” yazdım küt diye derlendi. sonra db2 nin kurulu olduğu yerde sqllib/functions folderi altına class ımızı attım. sonra IBM data studio dan komutumuzu verdim.
CREATE FUNCTION md5( clob )
RETURNS char(32)
LANGUAGE java
PARAMETER STYLE db2general
NO SQL
FENCED THREADSAFE
DETERMINISTIC
RETURNS NULL ON NULL INPUT
NO EXTERNAL ACTION
EXTERNAL NAME 'Md5!md5'
;
hayırlı olsun artık md5 fonksiyonumuz var db2 da gönül rahatlığıyla kullanın.
Yorum Yok »
database de bir kolonuzun sıralı gitmesi gerekiyor. 1 2 3 4 5 6 7 8 9 gibi sıra sıra olması gereken bir kolonunuz var ama nerden insert yapıyorsanız bu kolona ordan bi şekilde sırayı bozup veri gönderiyorsunuz ve bunu çözme şansınız yok. şimdi ne yapabilirsiniz
tabiiki arkadaşınıza şunu sorarsınız. olm bu veriler sıralı olmalı ama arada boşluklar var ve öyle bi kayıt tabloda olmadığı için nasıl select ederim bilemiyorum.
bende bunu epey aradım düşündümde bulamadım
yani olmayan kayıdı nasıl bulabilirsinki bütün database de arama mantığı olan veriler üstünedir
neyse hemen örnek geliyor
1
2
3
4
| select l.id + 1 as start
from tablo as l
left outer join tablo as r on l.id + 1 = r.id
where r.id is null; |
kendinden kendine left outer joinli selectimizde id nin null olduğu yerleri ver ve id her zaman id+1 e eşit olsun diye bir tarama yapan bu mükemmel select sonuç olarak tabloda eksik olan id leri tıkıt tıkır sıralıyor.
Yorum Yok »
mysql veya mssql hangi database i kullanıyorsanız kullanın yazılım gelişim sürecinde illaki birgün bir kolona unique vermeniz gerekecekdir ve buda var olan veriler yüzünden problem olacakdır ve tanıdığınıza soracaksınız: aynı verinin/duplikasyon/çoklanan olduğu satırları nasıl bulabilirim ?
mysql için örnek:
1
2
3
| select unique_olmasi_gereken, count(*) from tablo
group by unique_olmasi_gereken
having count(*) > 1; |
sonra isterseniz o satırların idlerine göre silersiniz örnek
1
2
3
| delete from tablo where satir_id in (select satir_id,unique_olmasi_gereken, count(*) from tablo
group by unique_olmasi_gereken
having count(*) > 1;) |
Yorum Yok »
yarasa yararlı bir hayvandır tarafýndan Genel içinde postalandý, tags: sql
benim hayal gücüm pek yoktur biçok şeyi algoritmik düşünüp çözerim. bu resim eminim bi çok insana yardımcı olacaktır.
Yorum Yok »