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