Herhangi bir sequence’ den currval değerini select etmeye çalışırken aşağıdaki gibi bir hata alınması durumunda neden hata alındığından ve nasıl çözüme kavuşturulduğundan bahsetmek istiyorum.
Örneğimiz de kullanmak üzere bir tane sequence create edelim ;
SQL> CREATE SEQUENCE test_seq
  MINVALUE 1
  MAXVALUE 9999999
  START WITH 1
  INCREMENT BY 1
  CACHE 20
Sequence created.
Şimdi currval değerini select etmeye çalışalım;
SQL> SELECT test_seq.currval  FROM dual
SELECT test_seq.currval  FROM dual
       *
Error at line 1
ORA-08002: sequence TEST_SEQ.CURRVAL is not yet defined in this session
Hatamızı aldık, hatanın nedeni sequence create edilmesine rağmen henüz hiç kullanılmadığından dolayı bir currval değerinin olmayışından kaynaklanıyor. Şimdi sequence ‘ imizden bir kere kullanıp sonrasında aynı işlemi yapmaya çalışalım. 
SQL> SELECT test_seq.NEXTVAL FROM dual
   NEXTVAL
———-
         1
1 row selected.
Şimdi currval değerimize bakalım ;
SQL> SELECT test_seq.currval FROM dual
   CURRVAL
———-
         1
1 row selected.
Artık komutumuz çalışıyor.
 
	
			

 
		  