PLS-00103 PL/SQL开发人员中的错误



注意:使用Oracle SQL Developer :: - 我没有这个问题,但这不是这里的标准。因此,我必须在PL/SQL开发人员

中找到一种方法

尝试使用PL/SQL开发人员(PL/SQL开发人员 - 程序)进行动态删除表,然后使用Create语句创建新表 pls-00103:遇到符号"/"符号"/"被忽略plsql

这是由于动态SQL末端的"/"造成的。

如果我从末尾删除"/",我会收到一个错误:遇到符号"创建"

在PL/SQL开发人员中遇到此错误的最佳方法是什么?

谢谢:

DECLARE
       VE_TABLENOTEXISTS EXCEPTION;
PRAGMA EXCEPTION_INIT(VE_TABLENOTEXISTS, -942);

    PROCEDURE DROPTABLE(PIS_TABLENAME IN VARCHAR2) IS
              VS_DYNAMICDROPTABLESQL VARCHAR2(1024);
                    BEGIN
                       VS_DYNAMICDROPTABLESQL := 'DROP TABLE ' || PIS_TABLENAME;  
                    EXECUTE IMMEDIATE VS_DYNAMICDROPTABLESQL;
                    EXCEPTION
                        WHEN VE_TABLENOTEXISTS THEN
                             DBMS_OUTPUT.PUT_LINE(PIS_TABLENAME || ' NOT EXIST, SKIPPING....');
                        WHEN OTHERS THEN
                             DBMS_OUTPUT.PUT_LINE(SQLERRM);
                    RAISE;
                    END DROPTABLE;
    BEGIN
      DROPTABLE('foo.foo_table');
END DROPTABLE;
   /
 CREATE TABLE foo.foo_table AS
(
SELECT STUFF, MORE_STUFF FROM not_foo_table
)
;
SELECT * FROM foo.foo_table
;

我也有plsql开发人员。我尝试以您发布的方式来编译您的过程,并且会遇到相同的错误,但是如果我在"/"之前删除空白空间,则可以正常运行;就像它不识别"/".

"

所以,我建议您更改此信息:

END DROPTABLE;
   /

为此:

END DROPTABLE;
/

相关内容

  • 没有找到相关文章

最新更新