Dalam posting blog kemarin, saya menulis tentang membuat tabel dengan nilai IDENTITY. Tetapi fitur baru Oracle 12c yang saya sukai lebih baik adalah memungkinkan urutan menjadi penghasil angka untuk nilai default kolom. Untuk melihat apa yang saya maksud, lihat contoh ini:
SQL> create sequence test_seq; Sequence created. SQL> create table test_tab (id number default test_seq.NEXTVAL, val varchar2(20)); Table created.
Seperti yang Anda lihat, kolom ID tabel pengujian saya memiliki klausa DEFAULT yang menggunakan NEXTVAL dari urutan yang saya buat. Sekarang mari kita masukkan beberapa data ke dalam tabel.
SQL> insert into test_tab (val) values ('first row'); 1 row created. SQL> insert into test_tab (val) values ('second row'); 1 row created. SQL> commit; Commit complete. SQL> select * from test_tab; ID VAL ---------- -------------------- 1 first row 2 second row
Seperti yang Anda lihat, urutan Oracle digunakan untuk mengisi nilai. Sepintas, ini akan membuat hidup lebih mudah bagi pemodel data karena seseorang tidak perlu menempuh rute tradisional pengkodean pemicu untuk menghasilkan NEXTVAL dan menetapkan nilai ini ke kolom. Namun, autopopulasi nilai kolom dengan urutan ini hanya berfungsi jika Anda tidak menentukan nilai, jika Anda membiarkannya default. Jika Anda secara eksplisit menyatakan nilainya, metode ini tidak akan menggunakan urutan. Pemicu, jika dikodekan dengan benar, akan memaksa penggunaan nilai urutan berikutnya untuk kolom.