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 的所有内容都将失效。然后修改每个无效对象以修复它。重复。

再说一次 - 不要,除非你有很好的理由。