我遇到了这两个错误,我无法修复它们

时间:2019-01-02 20:01:13

标签: oracle plsql

  

错误报告-
  ORA-06550:第6行,第5列:
  PLS-00382:表达式的类型错误
  ORA-06550:第6行,第5列:
  PL / SQL:忽略了SQL语句
  06550。00000-“%s行,%s列:\ n%s”
  *原因:通常是PL / SQL编译错误。
  *动作:

这是代码:

{{1}}

3 个答案:

答案 0 :(得分:0)

在底部的匿名PL / SQL块中删除以下行:

    OPEN cur_nbhotels;

您的NUMBEROFHOTELS函数中的光标已经打开。您无需再次打开它。

我拿了你的代码,删除了这一行,它成功地运行了我编写的一些示例数据。

答案 1 :(得分:0)

您无需在第二个块中打开光标,因为它已在第一个块中打开。请查看此问题的答案以获取更多详细信息。  Returning a ref cursor from a Oracle Function

答案 2 :(得分:0)

如果您正在做一个示例,那很好,但是您应该记住避免这一行

<?= $item; ?> instead of <?php echo $item; ?>

这应该通过其他过程来完成,例如 NUMBEROFHOTELS

顺便说一句,您可以使用隐式游标并避免 OPEN-CLOSE 之类的东西。这是您的代码示例

CLOSE cur_nbhotels;