什么,我试图做无法动态地删除表中的PL/SQL
我想创建它接受表名作为参数的过程。而在过程中我动态下探使用表Dynamic SQL
什么问题
写execute droptab('TEST');
我得到以下错误调用程序后:
ERROR at line 1:
ORA-00950: invalid DROP option
ORA-06512: at "SYSTEM.DROPTAB", line 4
ORA-06512: at line 1
程序
create or replace procedure dropTab (tableName in varchar2) is
begin
EXECUTE IMMEDIATE 'DROP TABLE' || tableName;
end;
/
尝试在表名称之前添加数据库名称,例如database.table。并尝试在普通的SQL窗口中执行它,也许你没有授予的权利。 – Momo
''DROP TABLE'|| tableName;'TABLE'和'tablename'之间没有空格,如果tablename是'sometable',最后的命令是'DROP TABLEsometable',这显然是错误的。 – krokodilko