-1

有什么方法可以让用户访问表的架构而不是表中的数据?欢迎任何答案或建议......

4

1 回答 1

1

假设架构是指表的 DDL 语句,这是一种方法:

   -- as table owner
   create or replace function getDDLForTable(table_name in varchar2) 
     return CLOB is
          l_Result CLOB;
        begin
          select dbms_Metadata.get_ddl('TABLE',
                                       table_name)
            into l_result
            from dual;
          return l_Result;
        end;

   grant execute on getDDLForTable to <other_user>;

   -- as other_user
   select <owner>.getDDLForTable('T') from dual

诀窍是创建一个返回 DDL 语句的函数(作为表的所有者)并将此函数的执行权限授予其他用户。

于 2013-04-11T07:15:23.737 回答