如何更改“实时数据库”?

时间:2019-05-30 14:00:30

标签: oracle insert-update alter-table live-update

我已经创建了一个vehicle_unit表

 CREATE TABLE vehicle_unit (
 garage_code NUMERIC(2) NOT NULL,
 vunit_id  NUMERIC(6) NOT NULL,
 vunit_purchase_price NUMERIC(7,2),
 vunit_exhibition_flag CHAR(1) NOT NULL,
 vehicle_insurance_id VARCHAR(20) NOT NULL,
 vunit_rego VARCHAR(8) NOT NULL
);

并在其中插入一些值:

INSERT INTO vehicle_unit(vunit_purchase_price,vunit_exhibition_flag,vehicle_insurance_id,vunit_rego,vunit_id, garage_code)
SELECT 50000.00, 'R', 'sports-ute-449-12b', 'RD3161',garage_count_vehicles, garage_code
FROM garage
WHERE garage_email='caulfield@rdbms.example.com';

如果我想添加一个称为condition_flag的NON NULL列,如何更改此实时数据库?我可以使用alter table吗?但是如何插入这个新值?

编辑:我尝试使用“更改表”,但出现错误,指出表必须为空才能添加强制性(非空)列。

1 个答案:

答案 0 :(得分:0)

ALTER ... NOT NULL语句之前,将所有现有记录更新为具有值(如果它们尚未包含)。然后发出您的ALTER ... NOT NULL,或者按照JNevill的建议,还添加一个DEFAULT子句(这将使您不必修改可能在INSERT内未提供值的代码)。