Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Kolom Pengisi Otomatis 12c dengan Nilai Urutan

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membuat CTE di Oracle

  2. Kode intensif I/O Async berjalan lebih lambat daripada non-async, mengapa?

  3. Bagaimana cara memilih penyedia Oracle untuk aplikasi .Net?

  4. Pernyataan FORALL Dengan Klausa Terikat VALUES-OF Dalam Database Oracle

  5. Mengubah kata sandi dengan Oracle SQL Developer