ORA-00903: 无效 table 名称
ORA-00903:invalid table name
我在PLSQL
中有以下代码:
Declare
tablename varchar2(20):='emp';
drop_stmt varchar2(2000);
begin
drop_stmt:='drop table :1 ;';
--dbms_output.put_line(drop_stmt);
execute immediate drop_stmt using tablename;
end;
结果:
ORA-00903:invalid table name
ORA-06512: at line 8
然而当我运行:
drop table emp ;
刚刚成功 运行s。导致此错误的原因可能是什么?
你必须使用这个:
drop_stmt:='drop table '||tablename; -- without ";" at the end of string
--dbms_output.put_line(drop_stmt);
execute immediate drop_stmt;
我在PLSQL
中有以下代码:
Declare
tablename varchar2(20):='emp';
drop_stmt varchar2(2000);
begin
drop_stmt:='drop table :1 ;';
--dbms_output.put_line(drop_stmt);
execute immediate drop_stmt using tablename;
end;
结果:
ORA-00903:invalid table name
ORA-06512: at line 8
然而当我运行:
drop table emp ;
刚刚成功 运行s。导致此错误的原因可能是什么?
你必须使用这个:
drop_stmt:='drop table '||tablename; -- without ";" at the end of string
--dbms_output.put_line(drop_stmt);
execute immediate drop_stmt;