Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Oracle sorgularında kullanılabilecek bir değişken. sorgumuzun WHERE koşulunda ROWNUM ile sonucun filtrelenmesini sağlayabiliriz.

SELECT RECORD_ID, CODE, ITEM_ID, QUANTITY FROM T_INVOICE_DETAIL WHERE ROWNUM <= 5;

yukarıdaki sorgu sonucunun sadece ilk 5 satırı sonuç olarak dönecektir.
bateristt
24 Mart 2006 22:12
2.  Ayrıca bkz: oid
fizikci
25 Mart 2006 08:53
3.  Oracle içinde SQL sorgularında kullanılan bir pseudocolumn. Değeri 1'den başlar, 1 atlayarak devam eder. Ama kullanılırken dikkat edilmesi gerekir.

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as hr
SQL>
SQL> drop table rownum_test;
Table dropped
SQL> create table rownum_test( name varchar2(12) );
Table created
SQL> INSERT INTO rownum_test VALUES( 'Bugun');
1 row inserted
SQL> INSERT INTO rownum_test VALUES( 'gunlerden');
1 row inserted
SQL> INSERT INTO rownum_test VALUES( 'persembe');
1 row inserted
SQL> INSERT INTO rownum_test VALUES( 've');
1 row inserted
SQL> INSERT INTO rownum_test VALUES( 'burası');
1 row inserted
SQL> INSERT INTO rownum_test VALUES( 'cok');
1 row inserted
SQL> INSERT INTO rownum_test VALUES( 'sicak');
1 row inserted
SQL> commit;
Commit complete

Test verileri ile aşağıdaki sorguları incelemek iyi olacaktır.

SQL> SELECT rownum RN, name FROM rownum_test;
        RN NAME
---------- ------------
         1 Bugun
         2 gunlerden
         3 persembe
         4 ve
         5 burası
         6 cok
         7 sicak
7 rows selected

SQL> SELECT rownum RN, name FROM rownum_test WHERE rownum < 4;
        RN NAME
---------- ------------
         1 Bugun
         2 gunlerden
         3 persembe

SQL> SELECT rownum RN, name FROM rownum_test WHERE rownum > 3;
        RN NAME
---------- ------------

Son sorgu sonucunda herhangi bir kayıt dönmemiştir. Eğer beklenen 4 ve yukarısı kayıtların dönmesi ise, yanılgı oluşacaktır.

Aynı şekilde dikkat edilmesi gereken bir diğer nokta da sıralama + limit yaparken nasıl kullanılacağıdır. Dikkat edilmezse yanlış sonuçlar oluşturabilir.

SQL> SELECT rownum RN, NAME FROM rownum_test ORDER BY NAME DESC;
        RN NAME
---------- ------------
         4 ve
         7 sicak
         3 persembe
         2 gunlerden
         6 cok
         5 burası
         1 Bugun
7 rows selected

SQL> SELECT rownum RN, NAME FROM rownum_test WHERE rownum < 4 ORDER BY NAME DESC;
        RN NAME
---------- ------------
         3 persembe
         2 gunlerden
         1 Bugun

SQL> SELECT t.* FROM ( SELECT rownum RN, NAME FROM rownum_test ORDER BY NAME DESC ) t WHERE rownum < 4;
        RN NAME
---------- ------------
         4 ve
         7 sicak
         3 persembe

mennan
19 Ekim 2006 15:08
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1078 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen