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

Oracle:menentukan nilai default untuk kolom tipe objek

Sepertinya ini tidak mungkin.

Salah satu solusinya adalah menggunakan pemicu:

CREATE OR REPLACE TRIGGER test_trigger
  BEFORE INSERT OR UPDATE
ON test_table
  FOR EACH ROW
WHEN ( new.test_attr IS NULL )
BEGIN
  :new.test_attr := NEW test_t();
END test_trigger;
/

Omong-omong, itu tidak sepenuhnya mengabaikan konstruktor non-default, mengesampingkan konstruktor default

CONSTRUCTOR FUNCTION test_t(in_val NUMBER)
RETURN SELF AS RESULT

mengarah ke pengecualian saat mencoba mendefinisikan tabel dengan DEFAULT NEW test_t(1) :




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

  2. Menghitung usia dari ulang tahun dengan pemicu Oracle plsql dan memasukkan usia ke dalam tabel

  3. Cara terbaik untuk menangani LOB di database terdistribusi Oracle

  4. Pemicu Oracle setelah memasukkan atau menghapus

  5. Oracle masukkan ke table2 lalu hapus dari table1, kecuali jika gagal