Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 错误PLS-00201:必须声明标识符kurtwb_Oracle_Plsql - Fatal编程技术网

Oracle 错误PLS-00201:必须声明标识符kurtwb

Oracle 错误PLS-00201:必须声明标识符kurtwb,oracle,plsql,Oracle,Plsql,我正在执行一个PL/SQL程序,但得到错误PLS-00201:必须声明标识符“KURTWB” DECLARE create_user dba_users%ROWTYPE; model_id varchar2(20); user_name varchar2(20); BEGIN model_id:=&model_id; user_name:=&user_name; Select * INTO create_user from dba_users where username=mod

我正在执行一个PL/SQL程序,但得到错误PLS-00201:必须声明标识符“KURTWB”

DECLARE
create_user dba_users%ROWTYPE;
model_id varchar2(20);
user_name varchar2(20);
BEGIN
model_id:=&model_id;
user_name:=&user_name;
Select * INTO create_user from dba_users where username=model_id;
EXECUTE IMMEDIATE 'create user user_name identified by password
user_name default tablespace create_user.default_tablespace
temporary tablespace create_user.temporary_tablespace profile
create_user.profile;';
END;
/
下面是我输入的值

Enter value for model_id: kurtwb
old   6: model_id:=&model_id;
new   6: model_id:=kurtwb;
Enter value for user_name: rohit
old   7: user_name:=&user_name;
new   7: user_name:=rohit;
下面是我得到的错误

ERROR at line 6:
ORA-06550: line 6, column 11:
PLS-00201: identifier 'KURTWB' must be declared
ORA-06550: line 6, column 1:
PL/SQL: Statement ignored
ORA-06550: line 7, column 12:
PLS-00201: identifier 'ROHIT' must be declared
ORA-06550: line 7, column 1:
PL/SQL: Statement ignored    

您已经输入了
kurtwb
作为名为
&model\u id
的替换变量的值
SQLPLus(或Oracle SQL Developer`)在此行中替换此变量:

BEGIN
  model_id:=&model_id;
  ....
  ....
使用输入的值
kurtwb
。替换后,代码如下所示:

BEGIN
  model_id:=kurtwb;
  ....
  ....
由于
kurtwb
未在任何地方定义,因此您会得到
PLS-00201:必须声明标识符“kurtwb”错误


我猜您希望将
kurtwb
存储为
model\u id
变量中的字符串,在这种情况下,必须在替换变量周围使用撇号:

BEGIN
  model_id:='&model_id';
  ....
  ....

你的问题是什么?我猜错误是
标识符'ROHIT'必须声明
:)嗯,答案是完全相同的,除了你必须替换
model\u id:=&model\u id带有
用户名:=&user\u name在答案中。嗨,krokodilko谢谢你的回复。通过您提供的方法,上述问题已得到解决。但是现在在行中出现了一个新错误,即立即执行“create user”| | user | name | |由“| user | name | |“default tablespace”| create|u user.default| |“temporary tablespace”| create| user.temporary | u tablespace | | | profile |”;完;在第1行声明*错误:ORA-00911:无效字符ORA-06512:在第12hi Krokodilko行,我已对模型\u id:='和模型\u id'进行了更改;用户名:='&用户名';然后我也得到了错误