PL/SQL 开发人员中的 PLS-00103 错误
PLS-00103 Error in PL/SQL Developer
注意:我在使用 Oracle SQL Developer::- 时没有这个问题,但这不是这里的标准。所以我必须在 PL/SQL Developer
中找到一种方法来做到这一点
当尝试使用 PL/SQL 开发人员(PL/SQL 开发人员 - 程序)动态删除表然后使用创建语句创建新表时,我一直 运行 进入错误:
PLS-00103:遇到符号“/”,符号“/”被忽略 PLSQL
这是由于动态 sql 末尾的“/”所致。
如果我从末尾删除“/”,我会收到错误消息:
遇到了符号 "CREATE"
在 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 Developer。
我尝试按照你 post 的方式编译你的程序,但我得到了同样的错误,但是如果我删除“/”之前的空格,它就可以正常工作;就像它不识别“/”一样。
所以,我建议你改变这个:
END DROPTABLE;
/
为此:
END DROPTABLE;
/
注意:我在使用 Oracle SQL Developer::- 时没有这个问题,但这不是这里的标准。所以我必须在 PL/SQL Developer
中找到一种方法来做到这一点当尝试使用 PL/SQL 开发人员(PL/SQL 开发人员 - 程序)动态删除表然后使用创建语句创建新表时,我一直 运行 进入错误:
PLS-00103:遇到符号“/”,符号“/”被忽略 PLSQL
这是由于动态 sql 末尾的“/”所致。
如果我从末尾删除“/”,我会收到错误消息: 遇到了符号 "CREATE"
在 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 Developer。 我尝试按照你 post 的方式编译你的程序,但我得到了同样的错误,但是如果我删除“/”之前的空格,它就可以正常工作;就像它不识别“/”一样。
所以,我建议你改变这个:
END DROPTABLE;
/
为此:
END DROPTABLE;
/