1

我是 MySQL 新手,我正在尝试创建一个过程。我连接到数据库并使用 Oracle SQLDeveloper 处理数据。

当我尝试将以下内容作为脚本执行时......

DELIMITER // 
CREATE PROCEDURE GetAllProducts() 
BEGIN 
SELECT * FROM products; 
END // 
DELIMITER ; 

我收到以下错误...

Error starting at line 1 in command:
DELIMITER //
Error at Command Line:1 Column:0
Error report:
SQL Error: 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 'DELIMITER //' at line 1

我正在使用最新版本的 Oracle SQL Developer 以及 las MySql 版本(两者都安装了)

有人可以帮助我如何使用分隔符吗?

谢谢,狮子座

4

1 回答 1

2

您的代码是 100% 正确的。DELIMITER 不是 MySQL 命令,该命令必须得到客户端的支持。DELIMITER 帮助客户端解析脚本中的语句。

您的过程有一个语句,因此您可以在没有 BEGIN...END 和 DELIMITERS 的情况下重写它,例如 -

CREATE PROCEDURE GetAllProducts() 
SELECT * FROM products;

您也可以尝试其他支持 DELIMITER的客户端:mysql - MySQL 命令行工具、GUI 工具 - dbForge Studio for MySQL(免费快递版)等。

于 2012-07-06T06:01:36.977 回答