<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Mevlüt Becerikli</title>
	<atom:link href="http://www.mevlutbecerikli.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.mevlutbecerikli.com</link>
	<description>A Lifelong Learner...</description>
	<pubDate>Thu, 14 Oct 2010 14:09:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Oracle 10G : SQL ile PiVOT TABLO Oluşturma</title>
		<link>http://www.mevlutbecerikli.com/?p=639</link>
		<comments>http://www.mevlutbecerikli.com/?p=639#comments</comments>
		<pubDate>Thu, 14 Oct 2010 14:05:51 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=639</guid>
		<description><![CDATA[Oracle 11G ile PIVOT Fonksiyonu geldi. Ama ben yazımı 10G de bu işlemi SQL ile nasıl yapabileceğimizi göstericem. Veri setimiz;
SELECT * FROM test_data

Bizden istenilen PIVOT tablo;

IL değerlerine ait
GRUP değerleri bazında
ADET değerlerinin toplamları

Sorgumuz;
SELECT il,
SUM(DECODE(grup,10,adet)) grup_10,
SUM(DECODE(grup,20,adet)) grup_20,
SUM(DECODE(grup,30,adet)) grup_30,
SUM(DECODE(grup,40,adet)) grup_40
FROM test_data
GROUP BY il
ORDER BY il
Sonuç çıktımız;


]]></description>
			<content:encoded><![CDATA[<p>Oracle 11G ile <strong><span style="color: #000000;"><span>PIVOT </span></span></strong>Fonksiyonu geldi. Ama ben yazımı 10G de bu işlemi SQL ile nasıl yapabileceğimizi göstericem. Veri setimiz;</p>
<p style="text-align: center;"><span style="color: #008000;"><strong>SELECT * FROM test_data</strong></span></p>
<p style="text-align: center;"><a href="http://www.mevlutbecerikli.com/wp-content/uploads/2010/10/1.jpg"><img class="aligncenter size-full wp-image-641" title="1" src="http://www.mevlutbecerikli.com/wp-content/uploads/2010/10/1.jpg" border="0" alt="" width="209" height="206" /></a></p>
<p>Bizden istenilen PIVOT tablo;</p>
<ul>
<li>IL değerlerine ait</li>
<li>GRUP değerleri bazında</li>
<li>ADET değerlerinin toplamları</li>
</ul>
<p>Sorgumuz;</p>
<p style="padding-left: 90px;"><strong><span style="color: #008000;">SELECT il,<br />
SUM(DECODE(grup,10,adet)) grup_10,<br />
SUM(DECODE(grup,20,adet)) grup_20,<br />
SUM(DECODE(grup,30,adet)) grup_30,<br />
SUM(DECODE(grup,40,adet)) grup_40<br />
FROM test_data<br />
GROUP BY il<br />
ORDER BY il</span></strong></p>
<p>Sonuç çıktımız;</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/10/2.jpg"><img class="size-full wp-image-642  aligncenter" title="2" src="../wp-content/uploads/2010/10/2.jpg" border="0" alt="" /><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=639</wfw:commentRss>
		</item>
		<item>
		<title>KÜÇÜK BİR DETAY : WW? WI?</title>
		<link>http://www.mevlutbecerikli.com/?p=630</link>
		<comments>http://www.mevlutbecerikli.com/?p=630#comments</comments>
		<pubDate>Wed, 13 Oct 2010 15:26:51 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=630</guid>
		<description><![CDATA[Yeni bir soru yeni bir yazı!!! Konumuz; çok sık kullanılan tarih formatlama ile ilgili. Başlayalım;
SELECT sysdate AS bugun, TO_CHAR(sysdate,&#8217;WW&#8217;) AS hafta FROM dual
BUGUN   HAFTA
&#8212;&#8212;-    &#8212;&#8212;&#8212;
10/13/2010 4:52:54 PM         41
Bu ifadeden anlaşılıyorki bu sorgu çalıştığında ben 2010 yılının 41. haftasonundayım. Bir sorgu daha ;
SELECT TO_CHAR(date &#8216;2010-01-01&#8242;,&#8217;WW&#8217;) AS ilk, TO_CHAR(date &#8216;2010-12-31&#8242;,&#8217;WW&#8217;) AS son [...]]]></description>
			<content:encoded><![CDATA[<p>Yeni bir soru yeni bir yazı!!! Konumuz; çok sık kullanılan tarih formatlama ile ilgili. Başlayalım;</p>
<p style="padding-left: 30px;"><strong><span style="color: #339966;">SELECT sysdate AS bugun, TO_CHAR(sysdate,&#8217;WW&#8217;) AS hafta FROM dual</span></strong></p>
<p style="padding-left: 30px;"><span style="color: #339966;"><strong>BUGUN</strong><strong><span> </span></strong><strong><span> </span></strong></span><strong><span style="color: #339966;"> HAFTA<br />
&#8212;&#8212;- </span></strong><strong><span style="color: #339966;"> </span></strong><strong><span style="color: #339966;"> </span></strong><strong><span style="color: #339966;"> &#8212;&#8212;&#8212;<br />
10/13/2010 4:52:54 PM         41</span></strong></p>
<p>Bu ifadeden anlaşılıyorki bu sorgu çalıştığında ben <span style="color: #ff0000;"><strong>2010 </strong></span>yılının <span style="color: #ff0000;"><strong>41.</strong></span> haftasonundayım. Bir sorgu daha ;</p>
<p style="padding-left: 30px;"><span style="color: #339966;"><strong>SELECT TO_CHAR(date &#8216;2010-01-01&#8242;,&#8217;WW&#8217;) AS ilk, TO_CHAR(date &#8216;2010-12-31&#8242;,&#8217;WW&#8217;) AS son FROM dual</strong></span></p>
<p style="padding-left: 30px;"><strong><span style="color: #339966;">ILK       SON<br />
&#8212;-    &#8212;-<br />
01        53</span></strong></p>
<p>Upsss!!!! <span style="color: #ff0000;"><strong>01 </strong></span>tamam da bize bir yıl <span style="color: #ff0000;"><strong>52 </strong></span>haftadır değilmiydi ??? Nerden çıktı bu <span style="color: #ff0000;"><strong>53 </strong><span style="color: #000000;">ifadesi ??</span></span>? 52 haftadan kalan bir kaç günü de sanırım ayrı bir hafta yerine sayıyor diye düşündüm. Biraz araştırınca <span style="color: #ff0000;"><strong>WW</strong> </span>için şöyle bir açıklama ile karşılaşıyorum :</p>
<p><span style="color: #ff0000;"><em>&#8220;Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.&#8221;.</em></span></p>
<p>Demek ki <span style="color: #ff0000;"><strong>2010 </strong></span>yılı için, hafta hesabını  <span style="color: #ff0000;"><strong>PAZARTESİ</strong></span>&#8216; den değil de yılın ilk günü olan <span style="color: #ff0000;"><strong>CUMA</strong></span>&#8216; dan başlayarak hesaplıyor. Peki benim istediğim gibi <span style="color: #ff0000;"><strong>PAZARTESİ</strong></span>&#8216; den başlayacak bir format yokmu diye araştırınca <span style="color: #ff0000;"><strong>IW </strong></span>ile tanışıyorum;</p>
<p style="padding-left: 30px;"><span style="color: #339966;"><strong>SELECT TO_CHAR(date &#8216;2010-01-01&#8242;,&#8217;IW&#8217;) AS ilk, TO_CHAR(date &#8216;2010-12-31&#8242;,&#8217;IW&#8217;) AS son FROM dual</strong></span></p>
<p style="padding-left: 30px;"><span style="color: #339966;"><strong>ILK    SON<br />
&#8212;-   &#8212;-<br />
53     52</strong></span></p>
<p><span style="color: #ff0000;"><strong>52 </strong></span>sonucunu elde ettik. IW için açıklamaya bakınca ise;</p>
<p><span style="color: #ff0000;"><em>&#8220;Week of year (1-52 or 1-53) based on the ISO standard.&#8221;. </em></span></p>
<p>Yani, ben, ne olursa olsun yılın ilk haftasını yılın ilk <span style="color: #ff0000;"><strong>PAZARTESİ</strong> </span>günü başlatırım ve öyle hesaplarım diyor.<br />
Ama neden <span style="color: #ff0000;"><strong>1 Ocak 2010</strong></span> için <span style="color: #ff0000;"><strong>53 </strong></span>değeri geldi ??? Burda bir üst seviye olan yıl değerine bakayım diyorum ve orda da <strong><span style="color: #ff0000;">ISO Standardı</span> </strong>yada değil gibi bir ayrımının burda da olduğunu görüyorum :</p>
<ul>
<li><em><span style="color: #ff0000;"><strong>YYYY</strong> </span>(4-digit year)</em></li>
<li><em><span style="color: #ff0000;"><strong>IYYY</strong> </span>(4-digit year based on the ISO standard) </em></li>
</ul>
<p>İşi biraz özetlemek ve daha iyi özümsemek için aşağıdaki sorguyu da siz yorumlayın;</p>
<p style="padding-left: 30px;"><strong><span style="color: #339966;"> select to_char(date &#8216;2009-12-26&#8242; + level, &#8216;YYYY.MM.DD&#8217;) TARIH,<br />
to_char(date &#8216;2009-12-26&#8242; + level, &#8216;YYYY&#8217;)       YIL,<br />
to_char(date &#8216;2009-12-26&#8242; + level, &#8216;WW&#8217;)         HAFTA,<br />
to_char(date &#8216;2009-12-26&#8242; + level, &#8216;IYYY&#8217;)       YIL_ISO,<br />
to_char(date &#8216;2009-12-26&#8242; + level, &#8216;IW&#8217;)         HAFTA_ISO,<br />
to_char(date &#8216;2009-12-26&#8242; + level, &#8216;DAY&#8217;)        GUN<br />
from dual<br />
connect by level &lt;= 10<br />
</span></strong></p>
<p>Sonuç çıktımız;</p>
<p><a href="../wp-content/uploads/2010/10/wwiw.jpg"><img class="aligncenter size-full wp-image-633" title="wwiw" src="../wp-content/uploads/2010/10/wwiw.jpg" border="0"/></a></p>
<p>Oracle Dökümantasyonlarında geçen bir ifade ile sözlerimizi bitirelim ve dökümantasyonun önemini ve bazen ne kadar kritik olabileceğini düşünelim ;</p>
<p><em> <span style="color: #ff0000;">&#8220;The week numbers returned by the WW format mask are calculated according to the following algorithm: int(dayOfYear+6)/7. This algorithm does not follow the ISO standard (2015, 1992-06-15).&#8221;</span></em></p>
<p><span style="color: #ff0000;"><em> &#8220;WW No Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.&#8221;</em></span></p>
<p>Saygılar&#8230;</p>
<p><strong>Kaynak :</strong> <a href="http://www.techonthenet.com/oracle/functions/to_char.php" target="_blank">http://www.techonthenet.com/oracle/functions/to_char.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=630</wfw:commentRss>
		</item>
		<item>
		<title>ROW-2-COL</title>
		<link>http://www.mevlutbecerikli.com/?p=622</link>
		<comments>http://www.mevlutbecerikli.com/?p=622#comments</comments>
		<pubDate>Fri, 24 Sep 2010 13:43:17 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=622</guid>
		<description><![CDATA[COL-2-ROW (String Aggregation) isimli yazımız da belli bir gruplama işlemine tabi tutarak o gruba ait sütundaki string değerlerini nasıl virgül ile birleştirebileceğimizi görmüştük. Bunun tersi bir  durum için ne yapmamız gerek ???
Biraz vakit ayırıp CONNECT BY LEVEL ın nimetlerinden faydalanınca içime sinen bir ortaya çıktı. Aşağıdaki ifadeyi bir IDE ye kopyalayıp direk çalıştırabilirsiniz;
WITH test_data
AS (SELECT [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mevlutbecerikli.com/?p=436" target="_blank"><strong><span style="color: #ff0000;">COL-2-ROW (String Aggregation)</span></strong></a> isimli yazımız da belli bir gruplama işlemine tabi tutarak o gruba ait sütundaki string değerlerini nasıl virgül ile birleştirebileceğimizi görmüştük. Bunun tersi bir  durum için ne yapmamız gerek ???</p>
<p>Biraz vakit ayırıp CONNECT BY LEVEL ın nimetlerinden faydalanınca içime sinen bir ortaya çıktı. Aşağıdaki ifadeyi bir IDE ye kopyalayıp direk çalıştırabilirsiniz;</p>
<p style="padding-left: 60px;"><strong><span style="color: #339966;">WITH test_data<br />
AS (SELECT &#8216;1,q,a,z,2,w,s,x,2,3,4&#8242; AS input FROM dual)<br />
SELECT SUBSTR(input,(level*2-1),1) AS result<br />
FROM test_data<br />
CONNECT BY level &lt;= LENGTH(REPLACE(input,&#8217;,',&#8221;))</span></strong></p>
<p><strong>LENGTH(REPLACE(input,&#8217;,',&#8221;)) </strong>ifadesi ile kaç elemanımız   (çıkacak satır/kayıt sayısı) var onu buluyoruz. Sonrasında öss hazırlık dönemlerimde DENKLEMLER konusunda  ki <strong>2n-1</strong> formulasyonu ile arzulanan sonuç elde ediliyor;</p>
<p style="text-align: center;"><strong><span style="color: #339966;">RESULT<br />
&#8212;&#8212;<br />
1<br />
q<br />
a<br />
z<br />
2<br />
w<br />
s<br />
x<br />
2<br />
3<br />
4</span></strong></p>
<p>Yine bekleriz&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=622</wfw:commentRss>
		</item>
		<item>
		<title>İFADELERDEN SAYILARI SEÇİP ÇIKARMAK</title>
		<link>http://www.mevlutbecerikli.com/?p=616</link>
		<comments>http://www.mevlutbecerikli.com/?p=616#comments</comments>
		<pubDate>Fri, 24 Sep 2010 12:45:53 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[PL/SQL]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=616</guid>
		<description><![CDATA[Sürekli takipte olduğum güzel bir forum da &#8220;Extract Only Numbers From The Columns&#8221; başlıklı bir soru ile gelmişti. Biraz PLSQL ile çözülür diye bir kahve eşliğinde aşağıdaki gibi bir ortam oluşturup 2-3 satır PL/SQL kodu karaladım;
Tablomuz;
CREATE TABLE MEVLUT.TEST_DETAY
(
ID           VARCHAR2(50 BYTE),
DESCRIPTION  VARCHAR2(100 BYTE)
)
Veri Ekleyelim;
INSERT INTO test_detay values (1,&#8217;duyuru 49600 üyeye gönderildi&#8217;);
INSERT INTO test_detay values (2,&#8217;ilan edildi [...]]]></description>
			<content:encoded><![CDATA[<p>Sürekli takipte olduğum güzel bir forum da <em><strong>&#8220;Extract Only Numbers From The Columns&#8221;</strong></em> başlıklı bir soru ile gelmişti. Biraz PLSQL ile çözülür diye bir kahve eşliğinde aşağıdaki gibi bir ortam oluşturup 2-3 satır PL/SQL kodu karaladım;</p>
<p><span style="text-decoration: underline;"><strong>Tablomuz;</strong></span></p>
<p style="padding-left: 30px;"><strong><span style="color: #339966;">CREATE TABLE MEVLUT.TEST_DETAY<br />
(<br />
ID           VARCHAR2(50 BYTE),<br />
DESCRIPTION  VARCHAR2(100 BYTE)<br />
)</span></strong></p>
<p><span style="text-decoration: underline;"><strong>Veri Ekleyelim;</strong></span></p>
<p style="padding-left: 30px;"><strong><span style="color: #339966;">INSERT INTO test_detay values (1,&#8217;duyuru 49600 üyeye gönderildi&#8217;);<br />
INSERT INTO test_detay values (2,&#8217;ilan edildi (53988 üye)&#8217;);<br />
INSERT INTO test_detay values (3,&#8217;Baska üye kalmadi :)&#8217;);<br />
INSERT INTO test_detay values (4,&#8217;38854 kullanici baglanti kurdu&#8217;);<br />
INSERT INTO test_detay values (9,&#8217;Tüm kullanicilar üye mi? Sanmiyorum! 38854 kullanicidan &#8220;çok azi&#8221; üye( tahmini 31111) &#8216;); </span></strong></p>
<p><strong><span style="text-decoration: underline;">Kodumuz;</span></strong></p>
<p style="padding-left: 30px;"><span style="color: #339966;"><strong>DECLARE<br />
varStr    VARCHAR2(100);<br />
rslt      VARCHAR2(100);<br />
splitter  VARCHAR2(100) := &#8221;;<br />
BEGIN<br />
FOR myCursor IN (SELECT id, description FROM test_detay) LOOP<br />
varStr := myCursor.description;<br />
FOR i IN 1..LENGTH(varStr)<br />
LOOP<br />
splitter := SUBSTR(varstr,i,1);<br />
IF (INSTR(&#8217;0123456789&#8242;,splitter) &gt; 0) THEN<br />
rslt := rslt || splitter;<br />
ELSE<br />
IF (LENGTH(rslt) &gt; 0) THEN<br />
DBMS_OUTPUT.PUT_LINE(myCursor.ID || &#8216; - &#8216; || rslt);<br />
rslt := &#8221;;<br />
END IF;<br />
END IF;<br />
END LOOP;<br />
rslt := &#8221;;<br />
END LOOP;<br />
END;</strong></span></p>
<p>Ama sonra Regular Expression&#8217; ın gücüne bir kere daha şahit oldum ;</p>
<p style="padding-left: 30px;"><strong><span style="color: #339966;">SELECT  * FROM  test_detay WHERE regexp_like (description, &#8216;[[:digit:]]&#8217;) </span></strong></p>
<p>Sonuç çıktısını vermiyorum!!! Çalışıp çalışmadığını siz deneyerek görün&#8230;<br />
Saygılar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=616</wfw:commentRss>
		</item>
		<item>
		<title>ROW_NUMBER(), RANK(), DENSE_RANK()&#8230;</title>
		<link>http://www.mevlutbecerikli.com/?p=297</link>
		<comments>http://www.mevlutbecerikli.com/?p=297#comments</comments>
		<pubDate>Tue, 21 Sep 2010 16:43:06 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=297</guid>
		<description><![CDATA[Kayıtlarımız, kendi belirlediğimiz mantığa uygun biçimde (Filtreleme, Gruplama..vs) sıralamak (Ranking) ve bu sıraya ait bir numarası ihtiyacımız olabilir.  Bu durumda Oracle veritabanı için hali hazırda olan Analitik Fonksiyonlar&#8216; dan faydalanabiliriz. Faydalanmak istemezseniz, umarım iç içe (SubQuery) sorgu yazmasını iyi biliyorsunuzdur 
Veri setimiz aşağıdaki gibi olsun;

Kişileri tutara göre sıralama istersek;
SELECT rownum SIRA, AD, TUTAR
FROM (SELECT AD, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Kayıtlarımız, kendi belirlediğimiz mantığa uygun biçimde <em>(Filtreleme, Gruplama..vs)</em> sıralamak <em>(Ranking)</em> ve bu sıraya ait bir numarası ihtiyacımız olabilir.  Bu durumda Oracle veritabanı için hali hazırda olan <strong>Analitik Fonksiyonlar</strong>&#8216; dan faydalanabiliriz. Faydalanmak istemezseniz, umarım iç içe <em>(SubQuery)</em> sorgu yazmasını iyi biliyorsunuzdur <img src='http://www.mevlutbecerikli.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Veri setimiz aşağıdaki gibi olsun;</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/12.jpg"><img class="size-full wp-image-603 alignnone" title="12" src="../wp-content/uploads/2010/09/12.jpg" alt="" width="296" height="242" border="0" /></a></p>
<p style="text-align: left;">Kişileri tutara göre sıralama istersek;</p>
<p style="text-align: left; padding-left: 30px;"><span style="color: #339966;"><strong>SELECT rownum SIRA, AD, TUTAR<br />
FROM (SELECT AD, TUTAR FROM TABLO ORDER  BY TUTAR DESC);</strong></span></p>
<p style="text-align: left; padding-left: 30px;">veya</p>
<p style="text-align: left; padding-left: 30px;"><span style="color: #339966;"><strong>SELECT ROW_NUMBER() OVER (ORDER BY TUTAR DESC) SIRA, AD,  TUTAR FROM TABLO;</strong></span></p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/21.jpg"><img class="aligncenter size-full wp-image-604" title="21" src="../wp-content/uploads/2010/09/21.jpg" alt="" width="189" height="204" border="0"/></a></p>
<p style="text-align: left;"><span style="color: #ff0000;"><strong>SEN :</strong></span> Ne gerek var şimdi bu <strong>ROW_NUMBER()</strong> fonksiyonuna ???<br />
<span style="color: #ff0000;"><strong>BEN :</strong></span> TUTAR değeri 35 olan değerler arasında neye göre sıralama yaptı bu SQL ler???<br />
<span style="color: #ff0000;"><strong>SEN :</strong></span> Hoş ikiside aynı sonucu verdi diceksiniz.<br />
<span style="color: #ff0000;"><strong>ORACLE :</strong></span> Bu aşamada <strong>RANK()</strong> fonksiyonu işe karışıyor!!!</p>
<p style="text-align: left; padding-left: 30px;"><strong><span style="color: #339966;"> SELECT RANK() OVER(ORDER BY TUTAR DESC) SIRA, AD, TUTAR FROM TABLO;</span></strong></p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/31.jpg"><img class="aligncenter size-full wp-image-605" title="31" src="../wp-content/uploads/2010/09/31.jpg" alt="" width="192" height="205" border="0"/></a></p>
<p style="text-align: left;"><span style="color: #ff0000;"><strong>SEN :</strong></span> HOPPAAA! Bu sefer 6 dan 9 a atladı sıralama!!!<br />
<span style="color: #ff0000;"><strong>ORACLE :</strong></span> Bu aşamada <strong>DENSE_RANK()</strong> fonksiyonu işe karışıyor!!!</p>
<p style="text-align: left; padding-left: 30px;"><strong><span style="color: #339966;">SELECT DENSE_RANK() OVER (ORDER BY TUTAR DESC) SIRA, AD, TUTAR FROM TABLO;</span></strong></p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/4.jpg"><img class="aligncenter size-full wp-image-606" title="4" src="../wp-content/uploads/2010/09/4.jpg" alt="" width="190" height="204" border="0"/></a></p>
<p style="text-align: left;"><span style="color: #ff0000;"><strong>SEN :</strong></span> Tüm yukarıdaki anlatımda sadece TUTAR a göre sıralama yaptık. Peki başka bir kritere <em>(TARIH) </em>göre gruplayarak, her bir grup içinde sıralama yapmak istersek ???<br />
<span style="color: #ff0000;"><strong>ORACLE :</strong></span> Bu aşamada <strong>PARTITION BY</strong> ifadesi işe karışıyor!!!</p>
<p style="text-align: left; padding-left: 30px;"><strong><span style="color: #339966;">SELECT DENSE_RANK() OVER (PARTITION BY TARIH ORDER BY TUTAR DESC) SIRA, TARIH, AD, TUTAR FROM TABLO;</span></strong></p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/5.jpg"><img class="aligncenter size-full wp-image-607" title="5" src="../wp-content/uploads/2010/09/5.jpg" alt="" width="263" height="204" border="0"/></a></p>
<p style="text-align: left;"><span style="text-decoration: underline;"><span style="color: #ff0000;"><strong>NOT :</strong></span></span> NULL değerler normalde sıralama işlemlerinde ilk sırada gelir. Bunu biz kontrol edip ilk yada son sıraya koyabiliriz. Bunun için son SQL ifademizi aşağıdeki gibi değiştirebiliriz;</p>
<p style="text-align: left; padding-left: 30px;"><strong><span style="color: #339966;">SELECT DENSE_RANK() OVER (PARTITION BY TARIH ORDER BY TUTAR DESC NULLS FIRST) SIRA, TARIH, AD, TUTAR FROM TABLO;<br />
SELECT DENSE_RANK() OVER (PARTITION BY TARIH ORDER BY TUTAR DESC NULLS LAST) SIRA, TARIH, AD, TUTAR FROM TABLO;</span></strong></p>
<p style="text-align: left;"><span style="color: #ff0000;"><strong>SEN :</strong></span> Ben tüm insanları 2 ye bölmek istiyorum!<br />
<span style="color: #ff0000;"><strong>ORACLE :</strong></span> Sana <strong>NTILE()</strong> fonksiyonunu veriyorum ;</p>
<p style="text-align: left; padding-left: 30px;"><strong><span style="color: #339966;">SELECT NTILE(2) OVER (ORDER BY TUTAR DESC) SIRA, AD,  TUTAR FROM TABLO;</span></strong></p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/6.jpg"><img class="aligncenter size-full wp-image-608" title="6" src="../wp-content/uploads/2010/09/6.jpg" alt="" width="191" height="204" border="0"/></a></p>
<p style="text-align: left;">&#8230;<br />
..<br />
.<br />
Bu makale uzadıkça uzar. Zira Oracle da 30+ adet <span style="text-decoration: underline;"><strong>Analitik Fonksiyon</strong></span> var.<br />
Devamı gelcek ama sabırsızlar için ;</p>
<p style="text-align: left;"><span style="color: #ff0000;"><span style="text-decoration: underline;"><strong>TÜM SQL FONKSIYONLARI İÇİN :</strong></span></span><br />
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions001.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=297</wfw:commentRss>
		</item>
		<item>
		<title>EXTRACT fonksiyonu</title>
		<link>http://www.mevlutbecerikli.com/?p=596</link>
		<comments>http://www.mevlutbecerikli.com/?p=596#comments</comments>
		<pubDate>Fri, 17 Sep 2010 11:52:18 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=596</guid>
		<description><![CDATA[Bir tarih (Date) yada zaman aralığını (Interval) oluşturan her bir parçayı elde etmek için EXTRACT fonksiyonunu kullınırız. Bu parçalar aşağıdaki gibi olabilir ;

YEAR
MONTH
DAY
HOUR
MINUTE
SECOND
TIMEZONE_HOUR
TIMEZONE_MINUTE
TIMEZONE_REGION
TIMEZONE_ABBR

Fonksiyon kullanımı ise şu şekildedir;
EXTRACT (
{ YEAR &#124; MONTH &#124; DAY &#124; HOUR &#124; MINUTE &#124; SECOND }
&#124; { TIMEZONE_HOUR &#124; TIMEZONE_MINUTE }
&#124; { TIMEZONE_REGION &#124; TIMEZONE_ABBR }
FROM { date_value &#124; interval_value } [...]]]></description>
			<content:encoded><![CDATA[<p>Bir tarih (Date) yada zaman aralığını (Interval) oluşturan her bir parçayı elde etmek için EXTRACT fonksiyonunu kullınırız. Bu parçalar aşağıdaki gibi olabilir ;</p>
<ul>
<li>YEAR</li>
<li>MONTH</li>
<li>DAY</li>
<li>HOUR</li>
<li>MINUTE</li>
<li>SECOND</li>
<li>TIMEZONE_HOUR</li>
<li>TIMEZONE_MINUTE</li>
<li>TIMEZONE_REGION</li>
<li>TIMEZONE_ABBR</li>
</ul>
<p>Fonksiyon kullanımı ise şu şekildedir;</p>
<p style="padding-left: 60px;"><strong><span style="color: #339966;">EXTRACT (<br />
{ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND }<br />
| { TIMEZONE_HOUR | TIMEZONE_MINUTE }<br />
| { TIMEZONE_REGION | TIMEZONE_ABBR }<br />
FROM { date_value | interval_value } )</span></strong></p>
<p>Örnek;</p>
<p><a href="../wp-content/uploads/2010/09/11.jpg"><img class="aligncenter size-full wp-image-597" title="11" src="../wp-content/uploads/2010/09/11.jpg" alt="" width="493" height="263" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=596</wfw:commentRss>
		</item>
		<item>
		<title>Report Studio&#8217; daki Native SQL ile Macro Kullanımı</title>
		<link>http://www.mevlutbecerikli.com/?p=583</link>
		<comments>http://www.mevlutbecerikli.com/?p=583#comments</comments>
		<pubDate>Fri, 17 Sep 2010 10:59:14 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Cognos]]></category>

		<category><![CDATA[İş Zekası]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=583</guid>
		<description><![CDATA[Bu yazımız, Cognos&#8216; un  Report Studio ürünü içinde Query Explorer sekmesinde (Insertable Objects) bulunan SQL komponenti kullanımı hakkındadır.

Aşağıdaki SQL ifademizde görüldüğü gibi Adana iline ait ilçeler raporunu hazırlayalım;
SELECT  ILCE_KEY as ILCE_KODU, IL_KODU, IL_ADI, ILCE_ADI
FROM D_ILCE  WHERE IL_KODU = &#8216;001&#8242;

Raporumuzu dinamik hale getirip, kullanıcının giriş yapabileceği ve istediği şehrin ilçelerini listeleyebileceği bir rapor haline getirmek istersek [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yazımız, <strong>Cognos</strong>&#8216; un  <strong>Report Studio</strong> ürünü içinde<strong> Query Explorer</strong> sekmesinde<em> (Insertable Objects)</em> bulunan <strong>SQL </strong>komponenti kullanımı hakkındadır.</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/1.jpg"><img class="aligncenter size-full wp-image-588" title="1" src="../wp-content/uploads/2010/09/1.jpg" border="0" alt="" width="500" height="296" /></a></p>
<p>Aşağıdaki SQL ifademizde görüldüğü gibi Adana iline ait ilçeler raporunu hazırlayalım;</p>
<p style="padding-left: 60px;"><strong><span style="color: #339966;">SELECT  ILCE_KEY as ILCE_KODU, IL_KODU, IL_ADI, ILCE_ADI<br />
FROM D_ILCE  WHERE IL_KODU = &#8216;001&#8242;</span></strong></p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/2.jpg"><img class="aligncenter size-full wp-image-589" title="2" src="../wp-content/uploads/2010/09/2.jpg" border="0" alt="" width="154" height="374" /></a></p>
<p>Raporumuzu dinamik hale getirip, kullanıcının giriş yapabileceği ve istediği şehrin ilçelerini listeleyebileceği bir rapor haline getirmek istersek ve bunu yukarıda yazdığımız SQL in içine yerleştirmek istersek <strong>Macro</strong> ifadeleri ile tanışmış oluyoruz. Parametre <em>(Prompt)</em> sayfamızda &#8220;<strong>pIl</strong>&#8221; isimli bir &#8220;<strong>Text Box Prompt</strong>&#8221; olduğunu varsarsak sorgumuz şu şekilde olacaktır;</p>
<p style="padding-left: 60px;"><strong><span style="color: #339966;">SELECT  ILCE_KEY as ILCE_KODU, IL_KODU, IL_ADI, ILCE_ADI<br />
FROM D_ILCE<br />
WHERE IL_KODU = <span style="color: #ff0000;">#prompt(&#8217;pIl&#8217;)#</span></span></strong></p>
<p>Bursa&#8217; nın illeri;</p>
<p style="text-align: center;"><a href="../wp-content/uploads/2010/09/3.jpg"><img class="aligncenter size-full wp-image-590" title="3" src="../wp-content/uploads/2010/09/3.jpg" border="0" alt="" width="162" height="470" /></a></p>
<p>Saygılar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=583</wfw:commentRss>
		</item>
		<item>
		<title>TRANSLATE Fonksiyonu</title>
		<link>http://www.mevlutbecerikli.com/?p=340</link>
		<comments>http://www.mevlutbecerikli.com/?p=340#comments</comments>
		<pubDate>Thu, 29 Jul 2010 12:43:48 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=340</guid>
		<description><![CDATA[Soru :
Veritabanımızda bir tablo sütununda farklı (aşağıdaki gibi) formatlarda telefon numaraları var.  Bizden bu verileri tek tip formata çevirmemiz isteniyor.
Mevcut Formatlar :
+1 123 456 7890
+1-123-456-7890
+1-123/456 7890
İstenen :
+1.123.4567890
Çözüm :
SELECT TRANSLATE(&#8217;+1 123 456 7890&#8242;, &#8216; /-&#8217;,'&#8230;&#8217;) FROM DUAL
SELECT TRANSLATE(&#8217;+1-123-456-7890&#8242;, &#8216; /-&#8217;,'&#8230;&#8217;) FROM DUAL
SELECT TRANSLATE(&#8217;+1-123/456 7890 &#8216;, &#8216; /-&#8217;,'&#8230;&#8217;) FROM DUAL
Açıklama :
TRANSLATE komutunun kullanımı aşağıdaki gibidir;
TRANSLATE( ilgili_metin , [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em><span style="text-decoration: underline;">Soru :</span></em></strong></p>
<p>Veritabanımızda bir tablo sütununda farklı (aşağıdaki gibi) formatlarda telefon numaraları var.  Bizden bu verileri tek tip formata çevirmemiz isteniyor.</p>
<p><strong><em><span style="text-decoration: underline;">Mevcut Formatlar :</span></em></strong></p>
<p style="padding-left: 30px;">+1 123 456 7890<br />
+1-123-456-7890<br />
+1-123/456 7890</p>
<p><strong><em><span style="text-decoration: underline;">İstenen :</span></em></strong></p>
<p style="padding-left: 30px;">+1.123.4567890</p>
<p><strong><em><span style="text-decoration: underline;">Çözüm :</span></em></strong></p>
<p style="padding-left: 30px;">SELECT <span style="color: #3366ff;">TRANSLATE(&#8217;+1 123 456 7890&#8242;, &#8216; /-&#8217;,'&#8230;&#8217;)</span> FROM DUAL<br />
SELECT <span style="color: #3366ff;">TRANSLATE(&#8217;+1-123-456-7890&#8242;, &#8216; /-&#8217;,'&#8230;&#8217;) </span>FROM DUAL<br />
SELECT <span style="color: #3366ff;">TRANSLATE(&#8217;+1-123/456 7890 &#8216;, &#8216; /-&#8217;,'&#8230;&#8217;) </span>FROM DUAL</p>
<p><strong><em><span style="text-decoration: underline;">Açıklama :</span></em></strong></p>
<p>TRANSLATE komutunun kullanımı aşağıdaki gibidir;</p>
<p style="padding-left: 30px;"><strong><span style="color: #ff0000;"><span style="color: #339966;"><em>TRANSLATE( ilgili_metin , degistirilecekler, eklenecekler )</em></span><br />
ilgili_metin :</span></strong> İçeriği değiştirilecek metin<strong><span style="color: #ff0000;"><br />
degistirilecekler :</span></strong> İçeriği değiştirilecek metin içerisinden değişecek karakterlerin dizisi<br />
<span style="color: #ff0000;"><strong>eklenecekler :</strong></span> degiceşekler kısmında her bir karakterin yerine gelecek karakterleriden oluşan dizi</p>
<p>Bu açıklamadan sonra gelelim bizim çözümümüze. Bu komut ile <strong><span style="color: #ff0000;"><span style="color: #339966;"><em>ilgili_metin </em></span></span></strong>içinde yer alan ve değiştirmeyi istediğimiz karakterleri sırası ile <strong><span style="color: #ff0000;"><span style="color: #339966;"><em>degistirilecekler</em></span></span></strong> kısmına yazıyoruz. Her bir karakterin yerine gelmesini istediğimiz karakterleri gene aynı sırada olmak kaydıyla <strong><span style="color: #ff0000;"><span style="color: #339966;"><em>eklenecekler </em></span></span></strong>kısmına yazıyoruz.</p>
<p>Burada önemli; komutun tek bir karakter bazında çalışması (Yani &#8220;12&#8243; yerine &#8220;34&#8243; yapamıyoruz, &#8220;1&#8243; yerine &#8220;3&#8243; ve &#8220;2&#8243; yerine &#8220;4&#8243; olacak şekilde çalışıyor) ve <strong><span style="color: #ff0000;"><span style="color: #339966;"><em>degistirilecekler</em></span></span></strong> ile <strong><span style="color: #ff0000;"><span style="color: #339966;"><em>eklenecekler </em></span></span></strong> dizilerindeki karakterlerin sıralarının aynı olmasıdır.</p>
<p><span style="text-decoration: underline;"><strong>NOT :</strong></span> Aynı soruna içiçe REPLACE komutu ile de çözüm üretebiliriz. Ama  TRANSLATE komutu sanırım bu okuması-yazması karışık ve hataya açık durumdan kurtulmak için geliştirilmiş;</p>
<p style="padding-left: 30px;">SELECT <span style="color: #3366ff;">REPLACE(REPLACE(REPLACE(&#8217;+1 123 456 7890&#8242;, &#8216; &#8216;,&#8217;.'),&#8217;/',&#8217;.'),&#8217;-',&#8217;.') </span>FROM DUAL<br />
SELECT <span style="color: #3366ff;">REPLACE(REPLACE(REPLACE(&#8217;+1-123-456-7890&#8242;, &#8216; &#8216;,&#8217;.'),&#8217;/',&#8217;.'),&#8217;-',&#8217;.') </span>FROM DUAL<br />
SELECT <span style="color: #3366ff;">REPLACE(REPLACE(REPLACE(&#8217;+1-123/456 7890&#8242;, &#8216; &#8216;,&#8217;.'),&#8217;/',&#8217;.'),&#8217;-',&#8217;.') </span>FROM DUAL</p>
<p>İyi Çalışmalar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=340</wfw:commentRss>
		</item>
		<item>
		<title>Çoklu Veri Girişi (Multiple Insert - INSERT ALL)</title>
		<link>http://www.mevlutbecerikli.com/?p=269</link>
		<comments>http://www.mevlutbecerikli.com/?p=269#comments</comments>
		<pubDate>Wed, 28 Jul 2010 11:31:14 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=269</guid>
		<description><![CDATA[Bu yazıda klasik insert ifadesinden biraz uzaklaşıp nasıl çoklu veri girişi işlemi yapacağımızı göreceğiz. Konunun detayını bende ihtiyaç doğrultusunda öğrendim. Bu özellik Oracle 9i den sonra gelmiş. Farklı varyasyonları var;

Koşulsuz çoklu giriş
Koşullu çoklu giriş
Koşullu ama koşula ilk uyan verinin girişi
Pivot Tablo yapısında çoklu veri girişi

1. KOŞULSUZ ÇOKLU VERİ GİRİŞİ ( INSERT ALL )
Syntax:
INSERT ALL
INTO &#60;tablo_ad&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yazıda klasik insert ifadesinden biraz uzaklaşıp nasıl çoklu veri girişi işlemi yapacağımızı göreceğiz. Konunun detayını bende ihtiyaç doğrultusunda öğrendim. Bu özellik Oracle 9i den sonra gelmiş. Farklı varyasyonları var;</p>
<ol>
<li>Koşulsuz çoklu giriş</li>
<li>Koşullu çoklu giriş</li>
<li>Koşullu ama koşula ilk uyan verinin girişi</li>
<li>Pivot Tablo yapısında çoklu veri girişi</li>
</ol>
<p><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;">1. KOŞULSUZ ÇOKLU VERİ GİRİŞİ</span></em></strong></span><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;"> ( INSERT ALL )</span></em></strong></span></p>
<p><span style="text-decoration: underline;">Syntax:</span></p>
<p style="padding-left: 30px;">INSERT ALL<br />
INTO &lt;tablo_ad&gt; VALUES &lt;sutun_degerleri)<br />
INTO &lt;tablo_ad&gt; VALUES &lt;sutun_degerleri)<br />
&#8230;<br />
SELECT &lt;sutun_isimleri&gt; FROM &lt;tablo_ad&gt;;</p>
<p><span style="text-decoration: underline;">Örnek :</span></p>
<p style="padding-left: 30px;">INSERT ALL<br />
INTO tbl_tip VALUES (tip_id)<br />
INTO tbl_marka VALUES (marka_id)<br />
SELECT marka_id, tip_id FROM tbl_arabalar;</p>
<p><strong>SELECT</strong> ifadesinden gelen verileri <strong>INSERT ALL</strong> kısmında ki tablolara ekliyoruz.<span style="text-decoration: underline;"><br />
</span></p>
<p><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;">2. KOŞULLU ÇOKLU VERİ GİRİŞİ ( INSERT ALL )<br />
</span></em></strong></span></p>
<p><span style="text-decoration: underline;">Syntax:</span></p>
<p style="padding-left: 30px;">INSERT ALL<br />
WHEN (&lt;condition&gt;) THEN<br />
INTO &lt;tablo_ad&gt; (&lt;sutun_isimleri&gt;)<br />
VALUES (&lt;deger_listesi&gt;)<br />
WHEN (&lt;condition&gt;) THEN<br />
INTO &lt;tablo_ad&gt; (&lt;sutun_isimleri&gt;)<br />
VALUES (&lt;deger_listesi&gt;)<br />
ELSE<br />
INTO &lt;tablo_ad&gt; (&lt;sutun_isimleri&gt;)<br />
VALUES (&lt;deger_listesi&gt;)<br />
SELECT &lt;sutun_isimleri&gt; FROM &lt;tablo_ad&gt;;</p>
<p style="padding-left: 30px;">
<p>Örnek :</p>
<p style="padding-left: 30px;">INSERT ALL<br />
WHEN (marka_id = 1) THEN<br />
INTO tbl_bmw VALUES (plaka)<br />
WHEN (marka_id = 2) THEN<br />
INTO tbl_audi VALUES (plaka)<br />
SELECT marka_id, plaka FROM tbl_arabalar;</p>
<p><strong>SELECT</strong> ifadesinden gelen verileri <strong>INSERT ALL</strong> kısmında ki <strong>WHEN </strong>koşuluna göre ilgili tablolara ekliyoruz. Burda ilk şarta uysa bile tüm koşullara bakılıyor.<span style="text-decoration: underline;"><br />
</span></p>
<p><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;">3. KOŞULLU AMA KOŞULA İLK UYAN VERİNİN GİRİŞİ </span></em></strong></span><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;"> ( INSERT FIRST)</span></em></strong></span></p>
<p><span style="text-decoration: underline;">Syntax:</span></p>
<p style="padding-left: 30px;">Koşullu <strong>INSERT ALL </strong>ile aynıdır sadece <strong>INSERT ALL </strong>yerine <strong>INSERT FIRST </strong>ifadesi kullanılır. Farkı; ilgili koşulları sırası ile değerlendirir ve istenen şartı ilk sağlayan koşul da veri girişini yapar ve sıradaki diğer şartlara bakmaz.</p>
<p><span style="text-decoration: underline;">Örnek:</span></p>
<p style="padding-left: 30px;">INSERT FIRST<br />
WHEN (model &lt; 1980) THEN<br />
INTO tbl_hurda VALUES (plaka)<br />
WHEN (model &lt; 2000) THEN<br />
INTO tbl_normal VALUES (plaka)<br />
WHEN (model &gt; 2010) THEN<br />
INTO tbl_lux VALUES (plaka)<br />
SELECT marka_id, plaka FROM tbl_arabalar;</p>
<p>Bu örnekte, araçları modellerine göre ayırıyor ve buna göre farklı tablolara atıyoruz. Burda şartı sağlayan ilk koşulda işlem yapılıp diğer koşullar es geçiliyor.</p>
<p><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;">4. PİVOT TABLO YAPISINDA ÇOKLU VERİ GİRİŞİ</span></em></strong></span><span style="color: #ff0000;"><strong><em><span style="text-decoration: underline;"> ( INSERT ALL )</span></em></strong></span></p>
<p><span style="text-decoration: underline;">Syntax:</span></p>
<p style="padding-left: 30px;">Koşulsuz veri girişi ile aynıdır. Burda asıl amaç ilişkisel veritabanı mantığına aykırı olan ve yatay olarak genişliğe sahip bir tablonun ilişkisel hale getirilmesi işidir (Belki başka amaç içinde kullanılabilir).</p>
<p><span style="text-decoration: underline;">Örnek :<br />
</span></p>
<p style="padding-left: 30px;">INSERT ALL<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;PAZARTESI&#8217;,tut_pazartesi)<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;SALI&#8217;,tut_sali)<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;CARSAMBA&#8217;,tut_carsamba)<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;PERSEMBE&#8217;,tut_persembe)<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;CUMA&#8217;,tut_cuma)<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;CUMARTESI&#8217;,tutCumartesi)<br />
INTO HAFTALIK_SATIS (id,urun_ad,gun,tutar) VALUES (id,urun_ad,&#8217;PAZAR&#8217;,tut_cumartesi)<br />
SELECT satis_id, urun_ad, tut_pazartesi, tut_sali, tut_carsamba, tut_persembe, tut_cuma, tut_cumartesi, tut_pazar<br />
FROM satis;</p>
<p>Bu örnekte <strong>&#8220;satis_id / urun_ad / tut_pazartesi / tut_sali / tut_carsamba / tut_persembe / tut_cuma / tut_cumartesi / tut_pazar&#8221;</strong> alanlarını sahip bir tabloyu <strong>&#8220;id / urun_ad /gun / tutar&#8221;</strong> alanlarına sahip bir tabloya atmış oluyoruz</p>
<p>İyi Çalışmalar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=269</wfw:commentRss>
		</item>
		<item>
		<title>SQL*Plus, SQL Script Dosyası, Hata (SP2-0042,SP2-0734)</title>
		<link>http://www.mevlutbecerikli.com/?p=344</link>
		<comments>http://www.mevlutbecerikli.com/?p=344#comments</comments>
		<pubDate>Tue, 27 Jul 2010 11:58:10 +0000</pubDate>
		<dc:creator>Mevlüt Becerikli</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Veritabanı]]></category>

		<guid isPermaLink="false">http://www.mevlutbecerikli.com/?p=344</guid>
		<description><![CDATA[SQL *Plus&#8217; ta bir SQL script çalıştırdım. Gayet güzel çalıştı. Ama script dosyası içeriğini okuması kolay olsun diye formatladım. Tekrar çalıştırdığımda hata verdi&#8230;
SP2-0042: unknown command &#8220;FROM&#8221; - rest of line ignored.
SP2-0734: unknown command beginning &#8220;SELECT&#8230;&#8221; - rest of line ignored.
Sorunun kaynağının değişiklik yaparken eklenen YENİ SATIR KARAKTERİ olduğu anlaşıldı. SQL* Plus ortamında bunun da çözümü [...]]]></description>
			<content:encoded><![CDATA[<p>SQL *Plus&#8217; ta bir SQL script çalıştırdım. Gayet güzel çalıştı. Ama script dosyası içeriğini okuması kolay olsun diye formatladım. Tekrar çalıştırdığımda hata verdi&#8230;</p>
<p style="padding-left: 30px;"><em><strong><span style="color: #339966;">SP2-0042: unknown command &#8220;FROM&#8221; - rest of line ignored.<br />
SP2-0734: unknown command beginning &#8220;SELECT&#8230;&#8221; - rest of line ignored.</span></strong></em></p>
<p>Sorunun kaynağının değişiklik yaparken eklenen YENİ SATIR KARAKTERİ olduğu anlaşıldı. SQL* Plus ortamında bunun da çözümü mevcut. Script i çalıştırmadan önce ;</p>
<p style="padding-left: 30px;"><strong><em><span style="color: #339966;">SQL&gt; set sqlblanklines on</span></em></strong></p>
<p>ifadesini çalıştırın&#8230;</p>
<p>İyi Çalışmalar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mevlutbecerikli.com/?feed=rss2&amp;p=344</wfw:commentRss>
		</item>
	</channel>
</rss>

