您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 22 行的 '' 附近使用的正确语法
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 22
我正在尝试在 MySQL 中创建一个函数:
这里是 SQL 代码:
DELIMITER //
CREATE FUNCTION hranisez_wp.calcBMI
(
cPol varchar,
dPregled datetime,
dRodjen datetime,
nVisina double,
nTezina double;
)
returns varchar(4000)
begin
declare nBMI double;
declare nStarost double;
declare cBMIText varchar(100);
declare nPothranjen double;
declare nMrsav double;
declare nNormalan double;
declare nGojazan double;
declare nPrekomjeran double;
declare nMinTezina double;
declare nMaxTezina double;
declare exit handler for sqlexception begin return(null);
end
//
DELIMITER ;
而且我一直收到这个错误:
#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 ' dPregled datetime, dRodjen datetime, nVisina double, nTez' at line 3
请帮忙!
您的 SQL
中存在三个错误
- 你在最后一个参数后有一个
;
varchar
需要长度参数
exit handler
没有end;
处理程序主体
所以试试这个:
DELIMITER //
CREATE FUNCTION hranisez_wp.calcBMI
(
cPol varchar(50),
dPregled datetime,
dRodjen datetime,
nVisina double,
nTezina double
)
returns varchar(4000)
begin
declare nBMI double;
declare nStarost double;
declare cBMIText varchar(100);
declare nPothranjen double;
declare nMrsav double;
declare nNormalan double;
declare nGojazan double;
declare nPrekomjeran double;
declare nMinTezina double;
declare nMaxTezina double;
declare exit handler for sqlexception begin return(null); end;
end
//
DELIMITER ;
从 nTezina double;
中删除 ;
同时删除 returns varchar(4000)
并再次检查
没有为 varchar 指定参数。 Varchar 数据类型需要参数,例如 cPol varchar(50),
这决定了列中的数据长度。
我正在尝试在 MySQL 中创建一个函数:
这里是 SQL 代码:
DELIMITER //
CREATE FUNCTION hranisez_wp.calcBMI
(
cPol varchar,
dPregled datetime,
dRodjen datetime,
nVisina double,
nTezina double;
)
returns varchar(4000)
begin
declare nBMI double;
declare nStarost double;
declare cBMIText varchar(100);
declare nPothranjen double;
declare nMrsav double;
declare nNormalan double;
declare nGojazan double;
declare nPrekomjeran double;
declare nMinTezina double;
declare nMaxTezina double;
declare exit handler for sqlexception begin return(null);
end
//
DELIMITER ;
而且我一直收到这个错误:
#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 ' dPregled datetime, dRodjen datetime, nVisina double, nTez' at line 3
请帮忙!
您的 SQL
中存在三个错误- 你在最后一个参数后有一个
;
varchar
需要长度参数exit handler
没有end;
处理程序主体
所以试试这个:
DELIMITER //
CREATE FUNCTION hranisez_wp.calcBMI
(
cPol varchar(50),
dPregled datetime,
dRodjen datetime,
nVisina double,
nTezina double
)
returns varchar(4000)
begin
declare nBMI double;
declare nStarost double;
declare cBMIText varchar(100);
declare nPothranjen double;
declare nMrsav double;
declare nNormalan double;
declare nGojazan double;
declare nPrekomjeran double;
declare nMinTezina double;
declare nMaxTezina double;
declare exit handler for sqlexception begin return(null); end;
end
//
DELIMITER ;
从 nTezina double;
中删除 ;
同时删除 returns varchar(4000)
并再次检查
没有为 varchar 指定参数。 Varchar 数据类型需要参数,例如 cPol varchar(50), 这决定了列中的数据长度。