Konuyu görüntüle
IUCODERS FORUM > Programlama > Veritabanları > pl/sql rownum sorunu...
Yazar
reader


avatar

Kayıt: 24.12.2007
02.12.2008-19:24 #53245
Arkadaslar merbhaba ,pl/sql de tablonun bır satırını bır degıskene almak ıstıyorum,fakat 1. satır harıcındekı satırları dokemıyorum,

select * from tablo_adi where rownum=2
dediğimde ekrana birsey gelmiyor,ancak
select * from tablo_adi where rownum in(1,2) 
dersem 1 ve 2. satırlar gelıyor,ben 2.satırı nasıl bır degıskene aktarabılırımconfused





Yazar
unforgiven


avatar

Kayıt: 12.06.2008
02.12.2008-19:47 #53247
sonuçları pl/sql içinde bir değişkene mi atamak istiyorsun yoksa kullandığn programlama dili içindeki bir değişkene mi?





Yazar
ender


avatar
iskenderun
Kayıt: 14.01.2006
02.12.2008-20:23 #53252
reader yazdi
 
Arkadaslar merbhaba ,pl/sql de tablonun bır satırını bır degıskene almak ıstıyorum,fakat 1. satır harıcındekı satırları dokemıyorum,

select * from tablo_adi where rownum=2
dediğimde ekrana birsey gelmiyor,ancak
select * from tablo_adi where rownum in(1,2) 
dersem 1 ve 2. satırlar gelıyor,ben 2.satırı nasıl bır degıskene aktarabılırımconfused



select *
from
(
select a.*,rownum as id
from tablo a
)
where id = 2

yanlış mı anladım?







Yazar
reader


avatar

Kayıt: 24.12.2007
02.12.2008-21:43 #53264
Sonucları gene pl/sql ıcınde kullanacagım bır degıskene atmak ıstıyorum.Ama bır sonuc alamıyorum ne yapmam lazımconfused

select alan_adi into degisken_adi from tablo_adi where rownum=2; 
gibi

1.satır harıc dıgerlerıne tek baslarına ulasamıyorumsad





Yazar
ender


avatar
iskenderun
Kayıt: 14.01.2006
02.12.2008-22:34 #53273
select a.istenilen kolon
into degisken
from
(
select a.*,rownum as id
from tablo a
)
where id = 2


olmuyor mu?







Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
02.12.2008-22:55 #53278
select * from tablo_adi where rownum=2

rownum değeri < , <= ,=1 değerini alır yani rownum=2 gibi kullanamazsın.

oracle ilk gelen sonucu alır rownum 1 gelir senin eşitliğinde 2 olduğu için false doner. 1=2 olmadığından "no rows returned" yazar vs.. vs.. vs..





N/A
Yazar
aslii


avatar

Kayıt: 05.10.2007
02.12.2008-22:59 #53279
orhan yazdi
 
select * from tablo_adi where rownum=2

rownum değeri < , <= ,=1 değerini alır yani rownum=2 gibi kullanamazsın.

oracle ilk gelen sonucu alır rownum 1 gelir senin eşitliğinde 2 olduğu için false doner. 1=2 olmadığından "no rows returned" yazar vs.. vs.. vs..


pekii bu sorunu aşmaya dair çözüm ? yani sadece 2 yi sadece 3ü çekmek için ne yapmalı??thinking





Her Sey Bir Login ile Baslar :)







Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
02.12.2008-22:59 #53280
SELECT rn, field_adi
FROM
  (SELECT rownum rn, field_adi
   FROM tablo_adi)
WHERE rn = 2;

şeklinde kullanırsan sorun olmaz.





N/A
Yazar
aslii


avatar

Kayıt: 05.10.2007
02.12.2008-23:09 #53281
teşekkürlerpeace





Her Sey Bir Login ile Baslar :)







Yazar
reader


avatar

Kayıt: 24.12.2007
02.12.2008-23:19 #53283
Tesekkurler arkadaslarapplause





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
02.12.2008-23:26 #53284
eyw kolay gelsin





N/A
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb