执行删除表的存储过程时出错。
我已成功编译过程(使用动态SQL代码)。 使用的工具是SQL Developer。
CREATE OR REPLACE PROCEDURE sp_DROP(P_VAR IN VARCHAR2)
IS
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE'||P_VAR; -- passing table via parameter
END;
但是我在执行此过程时遇到错误:
EXECUTE sp_DROP('CON1'); -- i have made sure CON1 is a legit table.
错误:
ORA-00950:无效的DROP选项
ORA-06512:在“HR.SP_DROP”,第4行 ORA-06512:第3行 00950. 00000 - “无效DROP选项”
*原因:
*行动:
感谢您的帮助。
答案 0 :(得分:1)
在删除表的末尾添加一个空格。
CREATE OR REPLACE PROCEDURE sp_DROP(P_VAR IN VARCHAR2)
IS
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE '||P_VAR; -- passing table via parameter
END;