sqlforsafe 2021-09-22 13:50 采纳率: 100%
浏览 208
已结题

mysql 8.0 ,游标创建ok, 但执行“open”总是报错,请教大家该如何解决?

mysql> create procedure processorders()
    -> begin
    -> DECLARE ordernumbers CURSOR
    -> FOR
    -> SELECT order_num from orders;
    -> end //
Query OK, 0 rows affected (0.02 sec)
```创建游标过程无问题。

```sql
mysql> open ordernumbers;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'open ordernumbers' at line 1

之后执行open操作,一直报错。
百度没有找到有效的解决办法,直接去翻看SQL官方文档也搞不清是哪里写错了。

  • 写回答

1条回答 默认 最新

  • CSDN专家-showbo 2021-09-22 13:56
    关注

    ordernumbers在存储过程processorders中创建的,外部无法访问。直接在存储过程processorders中open游标,控制台call processorders()调用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月30日
  • 已采纳回答 9月22日
  • 创建了问题 9月22日