mysql - 如何在 heidisql 中创建存储过程?

标签 mysql stored-procedures heidisql

我正在尝试在 heidisql (mysql) 中创建一个存储过程。

CREATE PROCEDURE SP_FORM20_POST(
    P_SESSIONID     VARCHAR(256)
)
BEGIN
    INSERT INTO tbForm20
        ( SESSIONID, RegDT)
    VALUES
        ( P_SESSIONID, NOW()); 
END

这是我的查询。我正在尝试创建此过程,但出现了一些错误:

Error code is 1064

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near'' at line 8".

但是,我不知道错误的语法。怎么了?

我想在 heidisql 工具中取得成功。我不想要其他数据库工具。 请帮助我。

最佳答案

该查询中的问题是分号,它是默认的查询分隔符。

要更改 HeidiSQL 中的分隔符,请在 CREATE PROCEDURE 查询上方添加 DELIMITER 客户端命令:

DELIMITER \\
SELECT 1\\
CREATE PROCEDURE ...\\
DELIMITER ;

HeidiSQL还有程序设计器,不需要设置分隔符:

HeidiSQL procedure designer

关于mysql - 如何在 heidisql 中创建存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37826764/

相关文章:

sql-server - 在调用者上下文中运行 Sql Server 存储过程

php - 想要获取前 9 条记录并再创建一条记录,该记录在 mysql 中为 “Others”

mysql - 无法将行插入表(列数不匹配)

mysql - SQL中各种join的区别

mysql - 首先使用资源 = 12 的 sql 查询,表的其余部分不应更改

sql - 如何在存储过程中生成新的Guid?

php - 动态添加选项值

mysql - 当行失去焦点时如何禁用 HeidiSQL 中的自动更新/插入

javascript - 无法通过javascript向数据库添加值

php - 在相同的符号中删除和创建相同的触发器