Oracle:Rename/replace 对象类型及其引用
Oracle: Rename/replace object type and its references
我创建了一个对象类型,如下所示,并在多个存储过程和表中用作列。
CREATE OR REPLACE TYPE SS_EMP_TP FORCE AS OBJECT (
NAME VARCHAR2(30),
AGE NUMBER
);
/
CREATE OR REPLACE TYPE SS_EMP_TAB_TP AS TABLE OF SS_EMP_TP;
/
示例:
ALTER TABLE EMP_S ADD (EMP_DETAIL_TABLE **SS_EMP_TAB_TP**)
NESTED TABLE EMP_DETAIL_TABLE STORE AS NESTED_EMP_DETAIL_TABLE RETURN AS LOCATOR;
现在我必须将对象类型从 SS_EMP_TP、SS_EMP_TAB_TP 分别重命名为 EMP_TP、EMP_TAB_TP。
并且还必须替换所有被引用的地方。
是否有rename alter object type语句?
我该怎么做?在执行此操作时我需要考虑哪些事项?
我建议你不要那样做。你为什么会?有什么区别(除了 SS_)?您希望得到什么好处?
无论如何:将 SS_EMP_TP
重命名为 EMP_TP
。引用 SS_EMP_TP
的所有内容都将失效。然后修改每个无效对象以修复它。重复。
再说一次 - 不要,除非你有很好的理由。
我创建了一个对象类型,如下所示,并在多个存储过程和表中用作列。
CREATE OR REPLACE TYPE SS_EMP_TP FORCE AS OBJECT (
NAME VARCHAR2(30),
AGE NUMBER
);
/
CREATE OR REPLACE TYPE SS_EMP_TAB_TP AS TABLE OF SS_EMP_TP;
/
示例:
ALTER TABLE EMP_S ADD (EMP_DETAIL_TABLE **SS_EMP_TAB_TP**)
NESTED TABLE EMP_DETAIL_TABLE STORE AS NESTED_EMP_DETAIL_TABLE RETURN AS LOCATOR;
现在我必须将对象类型从 SS_EMP_TP、SS_EMP_TAB_TP 分别重命名为 EMP_TP、EMP_TAB_TP。 并且还必须替换所有被引用的地方。
是否有rename alter object type语句?
我该怎么做?在执行此操作时我需要考虑哪些事项?
我建议你不要那样做。你为什么会?有什么区别(除了 SS_)?您希望得到什么好处?
无论如何:将 SS_EMP_TP
重命名为 EMP_TP
。引用 SS_EMP_TP
的所有内容都将失效。然后修改每个无效对象以修复它。重复。
再说一次 - 不要,除非你有很好的理由。