2011-02-11 29 views
0

我正在编译用于Mac的SQL Developer中的存储过程集合。代码如下所示:为什么这是一个错误:“遇到符号”/“”?

// ... 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; 

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

回答

3

/在SQL中使用* Plus的。既然你不能在SQL * Plus编译,除去这些,一切应罚款。

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

我假定您已经将文件的内容导入或复制到SQL Developer中。因此,将其分解成斜杠之间的可编译部分并编译这些部分。

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

+0

+1:击败我吧。 PLSQLDeveloper现在必须有一个设置来接受角色? – 2011-02-11 00:20:57

相关问题