Category : SQL

Written on Aug, 04, 2017 by in , | Leave a comment

Oracle’da oluşturulmuş olan bir tablonun veya view’ın sütununun tipi LONG ise bunda doğrudan arama ( where ) yapamayız. Ve şu hata ile karşılaşırız: ORA-00997: geçersiz LONG veri türü kullanımı ORA-00997 Illegal use of long datatype Çözüm:

Continue Reading...

PL SQL de asal sayıları bulmak için aşağıdaki kodu kullanabilirsiniz. Kodu kabaca anlatmak gerekirse. 1’den 1000’e kadar olan tüm sayıları üretip with as ile all_numbers’ı oluşturdum. ALL_NUMBERS’ı cartezyen (cross) join yaptım. Böylece her sayıyı, bölen başka bir sayı var mı diye kontroınl ettim. 1 sayısı her sayıya tam olarak bölündüğü için ve her sayı kendisine tam olarak bölündüğü için bunları …

Continue Reading...
Written on Aug, 08, 2016 by in , , | Leave a comment

PL-SQL dilinde VARRAY olarak isimlendirilen veri tipi, klasik programlama dillerindeki Array’e denk gelmektedir. Varray tanımlanırken toplam boyutu ve içine atılacak verinin tipi önceden belirlenir. Örneğin :  TYPE t_tamsayi IS VARRAY(100) OF NUMBER(10); Bu kod bize şunu söyler: Maximum 100 elemanlı, number(10) tipinde, t_tamsayı isminde bir array tanımlandı.Sonrasında array’i initialize edip, içine ilgili elemanlar eklenir (add element). Aşağıda 2 farklı şekilde …

Continue Reading...
Written on May, 14, 2016 by in , , , | Leave a comment

INISorgu sonucu gelen sonuçların BÜYÜK HARFLE, küçük harfle veya İlk Harfleri Büyük şekilde gelmesini istiyorsanız. Aşağıdaki fonksiyonları kullanmalısınız: BÜYÜK HARF İÇİN : select UPPER(‘tESt Sorgu’) from dual;   –sonuç: TEST SORGU küçük harf için : select LOWER(‘tESt’) from dual;  –sonuç: test sorgu İlk Harfleri Büyük : select INITCAP(‘tESt’) from dual;  –sonuç: Test Sorgu   SELECT table_name,column_name, comments, UPPER(comments) as COMMENTS_BUYUK_HARF, LOWER(comments) as comments_kucuk_harf, INITCAP(comments) …

Continue Reading...
Written on Dec, 24, 2015 by in , , , , | Leave a comment

oracle pl sql’de ay başı ay sonu çeyrek başı çeyrek sonu önceki çeyrek önceki çeyrek başı önceki çeyrek son günü v.s. gibi çok kullanılan sql ifadelerini aşağıya ekledim. Trunc, add_months, last_day, trunc(,”) fonksiyonlarını kullanarak aşağıdaki gibi ilgili tarihleri getirdim. AY SELECT sysdate as su_an, –şu an trunc(sysdate,’Q’) as ceyrek_basi, –çeyrek başı add_months(trunc(sysdate,’Q’),-3) as onceki_ceyrek_basi, –önceki çeyreğin başı add_months(trunc(sysdate,’Q’),+3) as sonraki_ceyrek_basi, …

Continue Reading...
Written on May, 02, 2015 by in , | Leave a comment

Oracle veritabanında bir değerin tek mi çift mi olduğunu anlamak için modüler aritmetik işlemi kullanılır. Oracle’de modüler aritmetik fonksiyonu MOD(x,y)’dur. Birinci parametre (x), ikinci parametre (y)’ye bölünür ve geriye kalan sayı döner. Girilen sayının tek mi çift mi olduğunu anlamak için; sayı 2 ye bölünü kalan 0 ise sayı çifttir, kalan 1 ise sayı tektir kuralı uygulanır. Örnek SQL aşağıdaki gibidir: SELECT …

Continue Reading...
Written on Feb, 09, 2015 by in , , | Leave a comment

Bir çok programlama dilinde olduğu gibi Oracle’ın PL SQL dilinde de for döngüsü (loop) bulunmaktadır. Örnek for kullanımı: 12’den başlayarak 22 ye kadar tüm değerleri döndüren örnek PL SQL kodu aşağıdaki gibidir: DECLARE deger number; BEGIN FOR deger in 10 .. 22 LOOP dbms_output.put_line(‘değer: ‘ || deger); END LOOP; END; dbms_output.put_line() fonksiyonu ile deger isimli değişkenin değeri output ekranına yazılmaktadır. …

Continue Reading...
Written on Jan, 29, 2015 by in , | Leave a comment

Oracle veritabanı üzerinde çalıştırdığımız sorguların ne kadar sürede çalıştığını saniyenin 100’de 1’i hassasiyetinde görmek için DBMS_UTILITY.GET_TIME fonksiyonunun kullanımını göstereceğim. DBMS_UTILITY.GET_TIME Ne Zaman Kullanılır ? Genelde kod blokları içerisinde birden fazla sql çalışıyorsa, hangisinin ne kadar süre çalıştığını bulmak için kullanılır. Veya aynı anda birden fazla iş yapan bir loop’un içerisindeki işlerin ne kadar süre çalıştığını görebilirsiniz. DBMS_UTILITY.GET_TIME Nasıl Kullanılır ? Başlangıç ve bitiş değerlerini …

Continue Reading...
Written on Jan, 27, 2015 by in , , | Leave a comment

NVL Fonksiyonu Nedir ? NVL Fonksiyonu Nasıl Kullanılır ? Sorgu sonucunda null gelen kayıtları istediğiniz bir değere dönüştürülebilirsiniz. Örneğin null matematiksel işleme girdiğinde sonucu null yaptığı için, null kayıtları istediğiniz 0’a çevirmemiz gerekebilir. Veya NULL gelen kayıtların bulunduğu yere ‘Belirsiz’ gibi bir ifade girmek gerekebilir. Bu ve benzeri durumlar için en kolay yöntem NVL fonksiyonunu kullanmaktır. (diğer yöntemler: case when, decode, …

Continue Reading...
Written on Jan, 27, 2015 by in , | Leave a comment

CTAS Nedir ? CTAS nasıl kullanılır? CTAS ; Create Table AS yapısının kısaltılmış halidir. Kolay yoldan tablo oluşturmaya yarar. Genelde tablonun yedeğini almak için veya create script’inin kolayca oluşturulması için kullanılır. CTAS yöntemi ile tablo oluşturulduğunda, partition, index, grant gibi objeler oluşmaz. Örnek kullanım : CREATE TABLE ornek_tablo AS SELECT * FROM hr.EMPLOYEES yukarıdaki sorgu ile hr.EMPLOYEES tablosunun verileri birebir aynı …

Continue Reading...