What is wrong with this stored procedure?(这个存储过程有什么问题?)
问题描述
我不断收到以下 MySQL SP 的错误有什么想法吗?
I keep getting this error for the below MySQL SP any ideas?
CREATE PROCEDURE productpricing(
OUT pl DECIMAL(8,2), OUT phDECIMAL(8,2), OUT pa DECIMAL(8,2) )BEGIN SELECT Min(amount) INTO pl从卡错误代码:1064 你有一个SQL 语法错误;检查与您的 MySQL 相对应的手册正确语法的服务器版本在第 9 行 '' 附近使用 0.000 秒
CREATE PROCEDURE productpricing(
OUT pl DECIMAL(8,2), OUT ph DECIMAL(8,2), OUT pa DECIMAL(8,2) ) BEGIN SELECT Min(amount) INTO pl FROM Card Error Code: 1064 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 '' at line 9 0.000 sec
DROP PROCEDURE IF EXISTS productpricing;
CREATE PROCEDURE productpricing(
OUT pl DECIMAL(8,2),
OUT ph DECIMAL(8,2),
OUT pa DECIMAL(8,2)
)
BEGIN
SELECT Min(amount)
INTO pl
FROM Card;
END;
推荐答案
您是否定义了分隔符?
尝试在 CREATE PROCEDURE
语句之前添加 delimiter//
.同时将 END;
替换为 END;//
.我检查过,它对我有用.
Try adding delimiter //
before the CREATE PROCEDURE
statement. Also replace END;
with END;//
. I checked and it works for me.
请参阅有关存储过程的 MySQL 文档
这篇关于这个存储过程有什么问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:这个存储过程有什么问题?


基础教程推荐
- oracle区分大小写的原因? 2021-01-01
- 在多列上分布任意行 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01