oracle constraint bulma

gelen exceptionlar şu şekilde

ORA-00001: unique constraint (SCHEMA.SYS_C0067078) violated

sağolsun hibernate veya oracle create ederken çok nadide isim seçmiş SYS_C0067078 velhasılı bunu görücne insan bişey anlamıyor. constraintin ilişkili olduğu tablo ve detayı için oracle da

select * from all_constraints
where owner = ‘SCHEMA’
and constraint_name = ‘SYS_C0067078’;

çalıştırmak yeterli.

how to select hibernate envers audited dates in mysql

just select dates is easy like this

SELECT FROM_UNIXTIME( revtstmp/1000 )   FROM revinfo;

if you want the detailed data result you can do like this.

SELECT r.rev,FROM_UNIXTIME( revtstmp/1000 ),pa.* FROM revinfo r
left join picture_aud pa on pa.rev=r.rev;

well you just need to change table name up there picture to what ever is your table name is.

find all columns in oracle named as district_id

I had a problem today. it was about changing all district_id in a whole database. so I need to find who used district_id as column name in tables in oracle.

here is how I find it.
and I changed all values from found tables.

postgresql de 5 dakikadan uzun çalışan query leri durdurmanın yolu

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


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

db2 md5 yapmaca

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.

sıralı gitmesi gereken verilerdeki eksik id’leri bulmak

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


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.

duplike verilerin olduğu satırları yakalamak

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:


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


delete from tablo where satir_id in (select satir_id,unique_olmasi_gereken, count(*) from tablo
group by unique_olmasi_gereken
having count(*) > 1;)

The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.

bişeylerle uğraşırken sitelerimden birinde bunu gördüm admin panelinde ulan dedim durup durduk yere noluo. sonradan aklıma geldi ben bu sitenin databaseinde bi field ı ntext yapmıştım meğer ondan dolayı selectdeki order arıza eder olmuş.

çözüm basit order by fieldismi olan yeri order by cast(fielismi as varchar(8000)) gibi bişey yapıosunuz. zaten ilk harfe göre sıralama yapmasını istiodum bu yetioda artıo bile.