Category : CONNECT BY LEVEL

Jaguar araçlarının yer aldığı bir veritabanı projesi yapmak istedim. Keyfi olarak yapmaya başladığım bu veritabanı projesinde şimdilik, yıl bazlı en az yakıt tüketen ve en performanslı Jaguar marka araçlar HTML tablosu olarak listeleniyor. Aklıma geldikçe, kullanımı kolay olmayan kod ve sorguları buraya eklemeye devam edeceğim. Sayfanın en sonunda, tüm kodları paylaştım. Fikir, öneri, eleştiri, istek vs için iletişim kısmından bana …

Continue Reading...
Written on Feb, 07, 2021 by in , , , , | Leave a comment

Oracle’da başlangıç ve bitiş tarihleri verip, bir loop yapmak istenirse CONNECT BY LEVEL yapısı kullanılabilir. By declaring start and end end you can make a loop with CONNECT BY LEVEL clause. DECLARE v_start DATE := TO_DATE(‘23.01.2021′,’DD.MM.YYYY’); v_end DATE := TO_DATE(‘03.02.2021′,’DD.MM.YYYY’); v_date DATE; CURSOR c_dates IS SELECT v_start+LEVEL-1 AS dates FROM sys.dual CONNECT BY LEVEL <= v_end-v_start+1; BEGIN OPEN c_dates; LOOP …

Continue Reading...
Written on Jan, 23, 2021 by in | Leave a comment

1’den 100’e kadar satır satır data üretmek istediğimizde veya belirli 2 tarih arasında satır satır data üretmek istediğimizde Oracle’ın CONNECT BY LEVEL özelliğini kullanabiliriz. Ben test datası üretmek ve kartezyen join yapacağım zaman bu özelliği kullanıyorum. 0′ değeri: başlangıç+1 değeridir. 10 değeri : bitiş değeridir. 10’a kadar sırala demektir. Tarihsel data üretimi için : http://www.ilterismutlu.com/oracle-pl-sql-ay-sonlarinin-listelenmesi/

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 Dec, 30, 2014 by in , | Leave a comment

Bu başlık altında Oracle’da pl-sql kullanarak verilen tarihler arasındaki ay sonlarının listesini aşağıdaki sorgu ile elde edebilirsiniz. Aşağıdaki kod 2014 başından 2016 yılı arasındaki ay sonlarının listesini vermektedir. SELECT TO_CHAR(tum_gunler,’dd.mm.yyyy’) AS ay_sonlari FROM (SELECT to_date(‘01.01.2014′,’dd.mm.yyyy’) + LEVEL as tum_gunler FROM dual CONNECT BY LEVEL <= to_date(‘01.01.2016′,’dd.mm.yyyy’)-to_date(‘01.01.2014′,’dd.mm.yyyy’) ) WHERE tum_gunler = last_day(tum_gunler) Yukarıdaki kod iç içe 2 tane select cümlesinden oluşmaktadır. Yukarıdaki …

Continue Reading...