Posts Tagged “sql”

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

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

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

Comments 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;)

Comments Yorum Yok »

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.

sql join

Comments Yorum Yok »