Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle:указване на стойност по подразбиране за колона тип обект

Изглежда, че това не е възможно.

Едно заобиколно решение би било да се използва тригер:

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;
/

Между другото, той не игнорира напълно конструкторите, които не са по подразбиране, като заменя конструктора по подразбиране

CONSTRUCTOR FUNCTION test_t(in_val NUMBER)
RETURN SELF AS RESULT

води до изключение при опит за дефиниране на таблицата с 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. Oracle SQL:Как да използвате повече от 1000 елемента в клауза IN

  2. Създаване на разделен със запетая списък със стойности в оператор на Oracle SQL

  3. Какво е последователност в oracle

  4. Извличане на МНОЖЕСТВО РЕДОВЕ и СЪХРАНЕНИЕ в 1 ПРОМЕНЛИВА - ORACLE СЪХРАНЯВАНА ПРОЦЕДУРА

  5. Мога ли да предам число за varchar2 в Oracle?