本帖最后由 panda_rabbit 于 2013-2-6 14:04 编辑 ZALBB 发表于 2013-2-6 12:59
不行,除非一个过程一个过程的授权。
版主,过程怎么授权?
以下两种都报错了:
grant alter on p_test to u1;
grant alter proceduce on p_test to u1;
HuiYiSky 发表于 2013-2-6 13:59
先要有 create any procedure的权限。
再对单个授权可以修改
亲,还是不行啊。
SQL> select privilege from dba_sys_privs where grantee='U1' order by 1;
PRIVILEGE
----------------------------------------
CREATE ANY PROCEDURE
CREATE ANY SYNONYM
DEBUG ANY PROCEDURE
DEBUG CONNECT SESSION
EXECUTE ANY PROCEDURE
SELECT ANY DICTIONARY
SELECT ANY SEQUENCE
SELECT ANY TABLE
本帖最后由 HuiYiSky 于 2013-2-6 14:27 编辑
SQL> show user
USER is "USER01"
SQL> select * fromuser_sys_privs;
USERNAME
PRIVILEGE
ADM
------------------------------ ------------------------------ ---
USER01
UNLIMITED TABLESPACE NO
USER01
CREATE ANY PROCEDURE NO
USER01
CREATE PROCEDURE
NO
SQL> select * from user_tab_privs;
GRANTEEOWNERTABLE_NAME GRANTOR
PRIVILEGE
GRA HIE
---------- ---------- ---------- ------------------------------ ------------------------------ --- ---
USER01 SCOTTPRO01SCOTT
DEBUG
NONO
SQL> create or replace procedure scott.pro01 is
2begin
3 null;
4end;
5/
Procedure created.