我有一个Oracle表是这样的:将Oracle设置表字段默认值的公式推
create table tms_transaction_tbl
(
trans_id number primary key,
location_id number,
trans_date date,
resource_id number,
ts_id number,
max_value number,
booked_units number default 0,
remaining number default (select max_value-booked_units),
booked number not null ,
user_id number,
trans_time timestamp
);
,你可以看到我试图设置剩余(MAX_VALUE-booked_units)
remainging number default (select max_value-booked_units),
的默认值
但它给我这个错误这个错误
ora-22818:subquery expression not allowed here
不要以为你能做到这一点。看看使用触发器可能吗? – OldProgrammer 2013-02-19 12:52:39
如果值始终是max_value-booked_units,它是否需要是列?在运行中计算确定性值最好在应用程序中完成(通过选择或嵌入视图内);这避免了触发器(这是一件好事) – Harrison 2013-02-19 13:12:06