0

我想将默认值设置为现有表的列,例如:create table t(a Number(22), b NUMBER(22)

我只是想为column B as column A.

我知道我们不能这样做,任何人都可以提出另一种方法来这样做..

4

2 回答 2

0

您可以使用 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;

分享和享受。

于 2014-09-15T19:09:59.353 回答
0

为什么不在代码中直接设置默认值?

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

我想不是数据库的作用来表达这种规则。

于 2014-09-15T15:46:24.363 回答