create user语句在Procedure中编译通不过:(

purfan 2003-02-23 02:05:50
错误内容如下:


Compilation errors for PACKAGE BODY PROJECT.PUSER

Error: PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begindeclareexitforgoto
ifloopmodnullpragmaraisereturnselectupdatewhile
<an identifier><a double-quoted delimited-identifier>
<a bind variable><<closecurrentdeletefetchlockinsertopen
rollbacksavepointsetsqlexecutecommitforall
<a single-quoted SQL string>
Line: 31
Text: create user p_Account identified by p_Account
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicholaz 2003-02-23
  • 打赏
  • 举报
回复
在Procedure中实现这种功能!就要使用动态sql,就如楼上所说!

如果你的oracle的版本不是8i以上的话!就用dbms_sql包来实现!
beckhambobo 2003-02-23
  • 打赏
  • 举报
回复
当有用户要有create any user权限
create or replace procedure name_pro
as
str varchar2(60);
begin
str:='create user user_name identified by pass_name
default tablespace space_name
temporary tablespace tmp_name';
execute immediate str;
end;
/
wuhuxia 2003-02-23
  • 打赏
  • 举报
回复
create drop等是数据定义语言(dll)
insert update delete等是数据操纵语言(dml)

ddl在pl/sql中需要动态的sql语句来实现

如直接:create user identified by user;
tuidler 2003-02-23
  • 打赏
  • 举报
回复
在PL/SQL中要使用DDL语句,需要用动态SQL语句来实现,并且要拥有创建用户的权限

3,498

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧