Oracle 对架构的用户权限,但对表的用户权限

Oracle 对架构的用户权限,但对表的用户权限,oracle,Oracle,有没有什么方法可以允许用户访问表的模式,但不能访问表中的数据?? 欢迎提供任何答案或建议 假设schema指的是表的DDL语句,下面是一种方法: -- as table owner create or replace function getDDLForTable(table_name in varchar2) return CLOB is l_Result CLOB; begin select dbms_Metad

有没有什么方法可以允许用户访问表的模式,但不能访问表中的数据??
欢迎提供任何答案或建议

假设schema指的是表的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语句作为表的所有者返回,并将此函数的执行权限授予其他用户。

授予访问架构的权限到底是什么意思?@user2268796 schema在Oracle speech中是user的同义词,因此如果您谈论的是表的DDL语句,你不应该用schema这个术语来解释这个问题——这真的很让人困惑。