Fungsi Nextval Urutan Oracle

Fungsi Nextval Urutan Oracle



Di Oracle, urutan mengacu pada objek database yang menghasilkan serangkaian nilai numerik sesuai dengan kenaikan yang ditentukan. Urutan umumnya digunakan untuk menghasilkan nilai kunci primer yang unik untuk catatan dalam tabel database.

Dalam tutorial ini, kita akan belajar cara menggunakan Fungsi NEXTVAL saat bekerja dengan urutan Oracle.

CATATAN: Tutorial ini tidak mencakup dasar-dasar pembuatan urutan Oracle. Lihat tutorial kami tentang urutan Oracle untuk menemukan lebih banyak.







Fungsi Oracle Nextval

Fungsi nextval dalam urutan Oracle digunakan untuk mengambil nilai berikutnya dalam urutan tertentu.



Kita dapat mengekspresikan sintaks dari fungsi seperti yang ditunjukkan pada potongan kode berikut:



sequence_name.nextval

Fungsi tidak menerima argumen atau parameter apa pun. Ini kemudian mengembalikan nilai berikutnya dalam urutan yang ditentukan.





Contoh Fungsi Demonstrasi

Mari kita pertimbangkan sebuah contoh. Kita mulai dengan mendefinisikan urutan Oracle sederhana seperti yang ditunjukkan pada kode berikut:

BUAT URUTAN test_sequence
DIMULAI DARI 1
PENINGKATAN OLEH 1 ;

Kami menggunakan pernyataan CREATE SEQUENCE untuk menginisialisasi urutan Oracle baru. Kami kemudian menentukan pada nilai apa urutan dimulai dan nilai kenaikan untuk setiap nilai baru yang dihasilkan.



Dalam contoh kami, test_sequence dimulai pada nilai 1 dan bertambah satu pada setiap nilai baru. Ini harus menghasilkan serangkaian nilai numerik mulai dari 1,2,3,4,5…dll.

Menggunakan Fungsi Oracle Nextval

Kita dapat menggunakan fungsi nilai berikutnya dari urutan test_sequence untuk mendapatkan nilai berikutnya, seperti yang ditunjukkan berikut ini:

Pilih test_sequence.nextval dari dual;

Ini harus mengembalikan nilai berikutnya dari urutan seperti yang ditunjukkan berikut ini:

Jika Anda memanggil pernyataan itu lagi, itu harus mengembalikan nilai berikutnya dalam rangkaian yaitu 2.

Ini berlanjut hingga nilainya habis, atau Anda mencapai nilai maksimum yang ditentukan dalam urutan. Lihat tutorial urutan Oracle kami untuk mempelajari cara mengatur nilai minimum dan maksimum.

Menggunakan Fungsi Nextval untuk Mengulangi Nilai

Kita juga bisa menggunakan fungsi nextval untuk mencetak angka dari 1 sampai 10 seperti yang ditunjukkan pada kode berikut:

BUAT URUTAN looper_sequence
DIMULAI DARI 1
PENINGKATAN OLEH 1 ;

mengatur SERVEROUTPUT pada;
MULAI
UNTUK saya DI 1 .. 10
LINGKARAN
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
AKHIR LOOP;
AKHIR;

Kode yang disediakan membuat urutan baru yang disebut looper_sequence yang dimulai dari 1 dan bertambah 1 untuk setiap nilai baru yang dihasilkan.

Kami kemudian mengaktifkan opsi SERVEROUTPUT yang memungkinkan paket DBMS_OUTPUT menampilkan pesan di konsol SQL*Plus.

Akhirnya, kami menyertakan loop for di dalam pernyataan end/begin untuk mengulangi rentang nilai dari 1 hingga 10. Kemudian kami memanggil fungsi DBMS_OUTPUT.PUT_LINE untuk setiap nilai dalam rentang dan mencetak nilai berikutnya dalam urutan looper_sequence ke menghibur.

Kode mencetak sepuluh nilai berikutnya dalam urutan looper. Dalam kasus kami, ini akan menjadi nilai dari 1 hingga 10 atau 11 – 20… dan seterusnya untuk setiap panggilan baru.

Keluaran yang dihasilkan :

1
2
3
4
5
6
7
8
9
10


PL / Prosedur SQL berhasil diselesaikan.

Menggunakan Fungsi Nextval dalam Pernyataan Sisipkan

Kita juga dapat menggunakan fungsi nextval dalam pernyataan insert sebagai kunci utama. Sebagai contoh:

Masukkan ke dalam pengguna ( Indo ,nama_pertama,kartu_kredit,negara )
nilai-nilai ( test_sequence.nextval, 'James Smith' , '4278793631436711' , 'Uni Emirat Arab' ) ;

Dalam contoh yang diberikan, kita memanggil fungsi nextval dari test_sequence untuk memasukkan nilai kolom id ke dalam tabel.

Kesimpulan

Dalam posting ini, Anda menemukan cara menggunakan fungsi Oracle nextval untuk mengambil nilai berikutnya secara berurutan. Anda juga mempelajari cara menggunakan fungsi untuk mengulangi sekumpulan nilai atau menyisipkan nilai unik di kolom tabel.