2013-04-11 3 views
-1

Есть ли способ, которым я могу дать разрешение пользователю на получение доступа к схеме таблицы, но не к данным в таблице? Любые ответы или предложения приветствуются ....Пользовательские разрешения для схемы, но не таблицы

+1

Что именно означает «дать разрешение на доступ к схеме»? –

+0

@ user2268796 Схема речи Oracle является синонимом для пользователя, поэтому, если вы говорите об операторе DDL для таблицы, вы не должны использовать термин «схема» для этого - это действительно запутывает. –

ответ

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 (как владелец таблицы) и предоставить права на выполнение этой функции другому пользователю.

Смежные вопросы