为什么这是一个错误:“遇到符号”/“”?

时间:2011-02-11 00:18:04

标签: sql stored-procedures plsql oracle-sqldeveloper

我正在为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;

为什么第一个斜杠会导致错误?

1 个答案:

答案 0 :(得分:3)

{* 1}}用于SQL * Plus。由于你没有编译SQL * Plus,所以删除它们,一切都应该没问题。

更具体地说:/结束PL / SQL块,它可以是匿名的或引用包/过程/函数/ etc定义/声明。斜杠告诉SQL * Plus将目前输入的内容传输到服务器并进行编译。因此,它不是PL / SQL语言的一部分,因此不需要。

我假设您已将文件内容导入或复制粘贴到SQL Developer中。所以将它分解为斜杠之间的可编辑部分并编译它们。

也许(这是因为我不了解SQL Developer)有一个选项或者可能运行在SQL Developer中使用SQL * Plus创建的文件。