请问我在 user A 的存储过程中,要修改 user b 的表的列 添加列,删除列,需要给 user A 什么权限?CREATE OR REPLACE PROCEDURE ddlproc AS
sqlw varchar2(200); BEGIN
sqlw :='ALTER TABLE TESTDB.tab1 add tname2 varchar2(50) not null ';
execute immediate sqlw;
end;
sqlw varchar2(200); BEGIN
sqlw :='ALTER TABLE TESTDB.tab1 add tname2 varchar2(50) not null ';
execute immediate sqlw;
end;
解决方案 »
- oracle数据库执行update语句时弹出Execution time
- 一个非常奇怪的问题,关于oracle10g 远称连接
- 如何让一个用户拥有另外一个用户中所有表的访问权限
- 求教分组随机取某一条数据[大数据量]
- oracle 如何算出两个时间的分钟差,类似sql server 的datediff
- Oracle存储过程调试问题
- 请问Oracle数据库,如果不使用commit时,它会不会自动提交?
- 装了oracle816,却在OraHome81->Enterprise Manager下找不到Configuation Assistant
- 由于数据逐渐增多,导致整个系统执行速度下降,有比较好的解决办法吗!
- 协议适配器错误问题!!
- 请高手指点迷津--transparent gateway for sybase 等待......
- 索引的问题
oracle 包括系统权限和对象权限,grant resource,connect to userA --授予系统权限
grant DBA to userA --授予角色
grant select,update on A.Table1 to userB --授予B 查询、更新A.Table1对象的权限
grant alter on TABLENAME to USERA;
刚才没说明白。我要在User A 的存储过程中要修改 其他User 表的列,user不定,user表名也不定。
user 名,表名,列名,列的类型,默认值等都是由参数传入的。请问如何比较简单的设定User A的权限?
grant alter any table to USERA
我的USERA 是METADATA
给了下面的权限。
grant alter any cluster to METADATA;
grant alter any table to METADATA;
grant comment any table to METADATA;
grant create any index to METADATA;
grant create any sequence to METADATA;
grant create any table to METADATA;
grant create table to METADATA;
grant delete any table to METADATA;
grant drop any sequence to METADATA;
grant drop any table to METADATA;
grant execute any operator to METADATA;
grant unlimited tablespace to METADATA;可以在存储过程中,创建别的user的表,并添加主键,创建序列发生器,
但进行alter table 时,还是报权限不足。
最好:
grant select any table to METADATA;
grant select any dictionary to METADATA;
试试看