在SQLPlus中执行脚本时,遇到了一个问题:
script.sql包含以下几行
@some_pkg.pks @some_pkg.pkb drop package some_pkg; /
打电话后
> sqlplus用户/密码@dbname @ script.sql
控制台中显示以下消息:
Package created. Package body created. Package dropped. drop package some_pkg; * ERROR at line 1: ORA-04043: object SOME_PKG does not exist
请解释一下这里发生了什么。好像包裹被丢了两次。有可能避免该错误吗?
SQLplus命令执行的规则基本上是:
DECLARE
BEGIN
/
因此,在您的情况下,分号和斜杠都执行了DROP语句。
DROP
要修复它,请删除斜杠。
仅当您有一个PL / SQL块(始终带有一条END语句)时,才需要斜杠。对其他所有内容使用分号。
END
注意:以上规则已简化。实际上更复杂。