我正在为SQL Developer for Mac编译一组存储过程。代码如下所示:
// ... some other code ....
END procedureX;
END thePackageBodyName;
/
show error
grant execute on thePackageBodyName to anotherName;
/
show error
SQLDev报告错误“遇到符号”/“第一个斜杠。如果我删除第一个斜杠,以及它下面的所有内容,它会成功编译:
// ... some other code ....
END procedureX;
END thePackageBodyName;
为什么第一个斜杠会导致错误?
答案 0 :(得分:3)
{* 1}}用于SQL * Plus。由于你没有编译SQL * Plus,所以删除它们,一切都应该没问题。
更具体地说:/
结束PL / SQL块,它可以是匿名的或引用包/过程/函数/ etc定义/声明。斜杠告诉SQL * Plus将目前输入的内容传输到服务器并进行编译。因此,它不是PL / SQL语言的一部分,因此不需要。
我假设您已将文件内容导入或复制粘贴到SQL Developer中。所以将它分解为斜杠之间的可编辑部分并编译它们。
也许(这是因为我不了解SQL Developer)有一个选项或者可能运行在SQL Developer中使用SQL * Plus创建的文件。