sql >> Databasteknik >  >> RDS >> Oracle

Oracle:anger standardvärde för objekttypskolumnen

Det verkar inte vara möjligt.

En lösning skulle vara att använda en utlösare:

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

Den ignorerar inte helt icke-standardkonstruktörer förresten, utan åsidosätter standardkonstruktorn

CONSTRUCTOR FUNCTION test_t(in_val NUMBER)
RETURN SELF AS RESULT

leder till ett undantag när man försöker definiera tabellen med DEFAULT NEW test_t(1) :




  1. JDBC - Oracle ArrayIndexOutOfBoundsException

  2. Hämta antalet rader med en GROUP BY-fråga

  3. Hur man närmar sig en Got minus ett från ett läsanropsfel när man ansluter till en Amazon RDS Oracle-instans

  4. java.lang.ArrayIndexOutOfBoundsException vid oracle.jdbc.driver.T4CTTIrxd.readBitVector(T4CTTIrxd.java:135)