私はすべてMySQL
算術演算子(+, -, /, *)
を1つの関数で作成して呼び出しようとしていますが、パラメータm1
の問題が1つあります。私はすでに数値としてそれを宣言し、それはまだ私に同じエラーを示しているMySQL算術演算子を1つの関数で呼び出す?
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 平方メートル:=&平方メートル 秒:=&S 場合、S = '+' を 立方メートル:= M1 + M2ライン10 SQLステートメントで DBMS_OUTPUT.PUT_LINE(M1 || S || M」 ' (M1数値(10,4)、M2数値(10,4)、数値M3(10 Calculator'機能をCREATE 、4)、SのVARCHAR(20)) RETURNSのINTEGER BEGIN M1: =&m1 – Maged