husonet | Tarih: 08.01.2015
Oracle CURRVAL fonksiyonu
Oracle currval işlevi, belirtilen sequence geçerli değerini erişmek için kullanılır.
CURRVAL fonksiyonun NEXTVAL fonksiyonun dan farkı NEXTVAL fonksiyonu değeri artırdıktan sonra arttırılan değeri geri döndürürken, CURRVAL fonksiyonu sadece varolan değeri geri döndürür.
Daha iyi anlamak için örneklerle inceleyelim.
SQL> create sequence test_seq;
Sequence created.
Sequnce daha önce değer atanmamışsa var olan değeri istediğimiz taktirde hata üretecektir aşağıdaki örnek te olduğu gibi
SQL> select test_seq.currval from dual;
select myseq.currval from dual
*
ERROR at line 1:
ORA-08002: sequence TEST_SQL.CURRVAL is not yet defined in this session
Bu kısımda hata almamak için mutlaka değer arttırılmalıdır.
SQL> select myseq.nextval from dual;
NEXTVAL
----------
1
Tekrar değer varolan değere erişmek isteyelim
SQL> select myseq.currval from dual;
CURRVAL
----------
1