我创建了一个Child表,该表继承了其他2个表中的列。 现在我只需要从子表中删除一些列,可以吗?
我尝试使用ALTER TABLE ... DROP COLUMN删除。 我也尝试过通过选项进行操作,但是会弹出“此对象不可用户编辑”的弹出窗口
//Creating the Child Table//
CREATE TABLE accidentinfo_year2010
(CHECK (EXTRACT (YEAR FROM timeline) = '2010' ) ) ;
INHERITS (accidentinfo , vehicleinfo ) ;
//Trying to Delete some columns//
ALTER TABLE accidentinfo_year2010
DROP COLUMN accident ,
DROP COLUMN severity ,
DROP COLUMN timeline ,
DROP COLUMN area ,
DROP COLUMN weathercondition ,
DROP COLUMN year ,
DROP COLUMN inscotland ,
DROP COLUMN vehicleage ,
DROP COLUMN model ,
DROP COLUMN sexofdriver ,
DROP COLUMN vehicletype ;
我需要通过代码或通过属性删除指定的列。
答案 0 :(得分:1)
不可能以简单的方式。该列是继承的,如果您不想继承某些列,则需要声明一个不继承那些列的表。
在当前表继承之前,也许您需要更多的抽象表来继承。
所以您能做的最好的-也许不是最好的方法-是: