【发布时间】:2015-12-04 12:51:27
【问题描述】:
执行删除表的存储过程时出错。
我已经成功编译了程序(代码使用了动态 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 选项”
*原因:
*行动:
感谢您的帮助。
【问题讨论】:
-
P_VAR的开头是否包含空格?否则你会错过一个,因为在'DROP TABLE'之后没有 -
是的,这是空白。谢谢你的帮助。
-
运行查询 select * from dba_objects where object_name = '
' 并分享结果。
标签: oracle stored-procedures plsql