我有一个OBJECT_TYPE
with ATTRIBUTE varchar2(200)
。还有许多其他对象引用这个对象。我需要将属性的长度减少到varchar2(50)
. 我知道我不能直接这样做,所以我找到了这种方式:
ALTER TYPE CUSTOMER DROP ATTRIBUTE name INVALIDATE;
ALTER TYPE CUSTOMER ADD ATTRIBUTE name varchar2(50) CASCADE;
问题是:在删除/创建属性后有什么可以破坏的吗?使用INVALIDATE
选项而不是CASCADE
在DROP
语句中是否正确?我不想丢失任何东西——关系或数据。