【问题标题】:Change AUTHID of object type in PL/SQL在 PL/SQL 中更改对象类型的 AUTHID
【发布时间】:2014-12-04 12:46:40
【问题描述】:
CREATE OR REPLACE TYPE OBJ_DEPARTMENT AUTHID DEFINER IS OBJECT(
    DEPARTMENT VARCHAR2(100)
);
/

如何将 AUTHID 更改为 CURRENT_USER?

【问题讨论】:

    标签: oracle object plsql authid


    【解决方案1】:

    只需使用AUTHID CURRENT_USER 再次运行您的CREATE OR REPLACE 语句:

    CREATE OR REPLACE TYPE OBJ_DEPARTMENT AUTHID CURRENT_USER IS OBJECT(
        DEPARTMENT VARCHAR2(100)
    );
    

    更新

    如果您有依赖对象(例如,包含 OBJ_DEPARTMENT 类型的对象的表),请使用 ALTER 而不是 CREATE OR REPLACE

    ALTER TYPE OBJ_DEPARTMENT replace AUTHID CURRENT_USER AS OBJECT   
      (DEPARTMENT VARCHAR2(100)
    );
    

    【讨论】:

    • @marionjeff 不,不会。请参阅我的更新答案以获取替代方案。
    • 谢谢!似乎是我正在寻找的答案。
    猜你喜欢
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2019-02-08
    相关资源
    最近更新 更多