代码之家  ›  专栏  ›  技术社区  ›  1pluszara

Oracle:重命名/替换对象类型及其引用

  •  0
  • 1pluszara  · 技术社区  · 7 年前

    我已经创建了一个对象类型,并在几个存储过程中使用,并在表中作为一个列使用。

    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语句?

    我该怎么做?我在做这些的时候需要考虑的是什么?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Littlefoot    7 年前

    我建议你不要那样做。你为什么会这样?有什么区别(除了党卫军之外)?你期望得到什么好处?

    无论如何:重命名 SS_EMP_TP EMP_TP . 所有的东西,那些参考 SSIMPUMPTP ,将无效。然后修改每个无效对象以修复该问题。重复。

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

    推荐文章