하나의 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_id
.
SQLPLus (또는 Oracle-SQL-Developer`)는 다음 줄에서이 변수를 대체합니다.
BEGIN
model_id:=&model_id;
....
....
입력 된 값으로 kurtwb
. 대체 후 코드는 다음과 같습니다.
BEGIN
model_id:=kurtwb;
....
....
kurtwb
어디에도 정의되어 있지 않기 때문에 PLS-00201: identifier 'KURTWB' must be declared
오류가 발생합니다.
나는 당신이 변수에 kurtwb
문자열 로 저장하고 싶다고 생각한다 model_id
.이 경우 대체 변수에 apostropher를 사용해야합니다.
BEGIN
model_id:='&model_id';
....
....
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다