Pythontr

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