首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对特定表授予create index

对特定表授予create index
EN

Stack Overflow用户
提问于 2016-10-10 18:52:08
回答 3查看 22K关注 0票数 2

我正在使用oracle,并且希望创建一个属于另一个用户的特定表的索引,那么如何在不使用requete的情况下授予权限呢?

代码语言:javascript
复制
grant create any index 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-10 19:34:45

代码语言:javascript
复制
grant index on [tablename] to [user]

表所有者必须拥有哪些权限才能将表的create index授予其他用户,这取决于您的Oracle版本;请查看文档。

票数 5
EN

Stack Overflow用户

发布于 2016-10-10 19:18:02

如果您希望首先创建到另一个模式中的表的索引,则需要将system权限授予要用来创建de index的用户。

要在另一个模式中创建索引,您必须拥有系统的create index ANY ANY INDEX权限。

更多参考:https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5010.htm

下面是SQL:

代码语言:javascript
复制
/*No tested*/
Grant create any index to user;
票数 0
EN

Stack Overflow用户

发布于 2016-10-10 19:33:43

表所有者模式中的Create procedure

代码语言:javascript
复制
create or replace 
procedure create_index(col_list varchar2, index_name varchar2) as
begin
execute immediate 'create index ' || index_name || ' on ' || 'PUT_TABLENAME_HERE'|| '(' || col_list || ')';
end;

GRANT EXECUTE ON table_owner.create_index TO user;

打电话

代码语言:javascript
复制
begin
table_owner.create_index('ID','IDX1');
end;

我觉得应该能行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39956615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档