我一直在努力使所有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