私はストアド プロシージャを作成するのが初めてで、このプロシージャでエラーを見つけることができないようです。エラーは where 部分の近くにマークされています。
if 条件に基づいてセットが行われる例を探してみましたが、そのような例が見つからないようです。誰かが私のエラーを指摘できますか?
DELIMITER $$
CREATE PROCEDURE `incubation`.`bt_voice_modification`
(in input_slot varchar(45),in input_port varchar(45))
BEGIN
SET @SVLAN_STH:=1000;
SET @SVLAN_DTH:=999;
SET @CVLAN_DTH:=1000;
SET @FLOW_INSTANCE:=1;
UPDATE one_2_one_table
SET L2S_USER_FLOW_INSTANCE = @FLOW_INSTANCE := @FLOW_INSTANCE+1;
SET L2S_NW_SLOT = input_slot;
SET L2S_NW_PORT = input_port;
IF STH_DTH = 'STH' then
set L2S_NW_SVLAN = @SVLAN_STH :=@SVLAN_STH + 1;
ELSE
set L2S_NW_SVLAN = @SVLAN_DTH ;
set L2S_NW_CVLAN = @CVLAN_DTH :=@CVLAN_DTH + 1;
END if;
WHERE IPDSLAM_USER_SLOT = 2 AND L2S_USER_TYPE like "%gplt%";
END