Установить значение по умолчанию в качестве значения столбца

Я хочу установить значение по умолчанию в качестве столбца для существующей таблицы, например: create table t(a Number(22), b NUMBER(22);

я просто хочу установить значение по умолчанию для column B as column A,

Я знаю, что мы не можем так поступить, кто-нибудь может предложить альтернативный способ сделать это..

2 ответа

Почему бы не установить значение по умолчанию непосредственно в коде?

if(Obj.B == null)
Obj.B = Obj.A

Я думаю, что не роль базы данных выражать такого рода правила.

Вы можете использовать триггер ON INSERT:

CREATE OR REPLACE TRIGGER T_BI
  BEFORE INSERT ON T
  FOR EACH ROW
BEGIN
  IF :NEW.B IS NULL THEN
    :NEW.B := :NEW.A;
  END IF;
END T_BI;

Поделитесь и наслаждайтесь.

Другие вопросы по тегам