不好意思,不够详细。我想在过程中创建一个用户。 p_make_user中只有如下代码: ------------------------- varSqlCreate := 'create user abc identified by ok default tablespace users temporary tablespace temp'; execute immediate varSqlCreate; ------------------------- sqlplus 中: begin p_make_user(); end; ORA-01031: 权限不足 ORA-06512: ZHMIS.P_MAKE_USER", line 9 ORA-06512: line 2 ---------- 如果把创建用户的代码单独拿出来,是可以创建的。同样创建表也是在sqlplus里面可以,但是在过程中就不行。
为当前所建过程用户多加一个权限: grant create any user to 当前用户;
需要以下步骤 1. CREATE USER username IDENTITIED BY password; 2. ALTER USER username DEFAULT TABLESPACE USR;(optional) 3.GRANT CREATE TABLE,CREATE SESSION to username; 4. ALTER USER username QUOTA UNLIMITED to USR;(very important) 5.CREATE TABLE tmp (...) 这样的话你就可以创建表了
加上就该行了
创建用户我没用过
不知行不行
p_make_user中只有如下代码:
-------------------------
varSqlCreate := 'create user abc identified by ok default tablespace users temporary tablespace temp';
execute immediate varSqlCreate;
-------------------------
sqlplus 中:
begin
p_make_user();
end;
ORA-01031: 权限不足
ORA-06512: ZHMIS.P_MAKE_USER", line 9
ORA-06512: line 2
----------
如果把创建用户的代码单独拿出来,是可以创建的。同样创建表也是在sqlplus里面可以,但是在过程中就不行。
grant create any user to 当前用户;
1. CREATE USER username IDENTITIED BY password;
2. ALTER USER username DEFAULT TABLESPACE USR;(optional)
3.GRANT CREATE TABLE,CREATE SESSION to username;
4. ALTER USER username QUOTA UNLIMITED to USR;(very important)
5.CREATE TABLE tmp (...)
这样的话你就可以创建表了
先让你的DBA给你创建用户的权限吧。然后你就可以将这个权限转给别的你要创建的用户身上。
或者
具体到某一个权限也可以
grant create any table to user_name