Oracle PL / SQL:使用参数调用存储过程

时间:2013-10-28 08:11:03

标签: sql oracle plsql

我创建了一个存储过程并成功编译,没有任何错误。但是,当我在annoynmous块中调用它时,它会返回错误消息PLS-00201: identifier 'DUE_FOR_RAISE' must be declared。 什么似乎是错的?程序调用有问题吗? 这是我以前称之为程序: BEGIN due_for_raise('Austin'); END;

1 个答案:

答案 0 :(得分:1)

这是因为你引用了你的程序名称(从不这样做)。你需要用引号和完全调用它来命名程序,所以:

BEGIN 
   "due_for_raise"('Austin'); 
END;

如果更容易丢弃旧程序,并在没有引用名称的情况下重新创建它。

引用Database Object Names and Qualifiers上的文档:

  

Oracle建议不要对数据库对象名称使用带引号的标识符。 SQL * Plus接受这些带引号的标识符,但在使用管理数据库对象的其他工具时它们可能无效。