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_sequenceDIMULAI 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_sequenceDIMULAI 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 :
12
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.