我一直在努力使所有MySQL
算术运算符(+, -, /, *)
在一个函数中,但我面临一个问题与参数m1
。我理解的是说的错误消息:在一个函数中调用MySQL算术运算符?
Syntax error: unexpected 'm1' (Identifier)?
我已经声明它作为一个数字,它仍呈现我同样的错误。有没有人有任何想法如何解决这个问题,并成功地在MySQL Workbench 5.7
此运行此功能的代码,且误差在5日线:
CREATE FUNCTION `Calculator`
(m1 numeric (10,4), m2 numeric (10,4), m3 numeric (10,4), s varchar (20))
RETURNS INTEGER
BEGIN
m1:=&m1
m2:=&m2
s:=&s
if s = '+' then
m3:=m1+m2
dbms_output.put_line(m1||s||m2||'='||m3)
else if s = '-' then
m3:=m1-m2
dbms_output.put_line(m1||s||m2||'='||m3)
else if s = '*' then
m3:=m1*m2
dbms_output.put_line(m1||s||m2||'='||m3)
else if s = '/' then
m3:=m1/m2
dbms_output.put_line(m1||s||m2||'='||m3);
end if
exception
when zero_divide then
dbms_output.put_line('cant divide by zero')
end
/
RETURN 1;
END
操作失败:将SQL脚本应用于数据库时发生错误。 错误1064:您的SQL语法有错误;检查对应于你的MySQL服务器版本使用附近的正确语法手册“:= M1 M2:= M2 S:=&S 如果s = '+' 然后 M3:= M1 + M2 DBMS_OUTPUT.PUT_LINE(M1 || ||小号M”在管路10 SQL语句: CREATE FUNCTION'Calculator' (M1数字(10,4),平方米数字(10,4),立方米数字(10 ,4),s varchar(20)) RETURNS INTEGER BEGIN m1: =&m1 – Maged