CREATE DEFINER=`root`@`%` PROCEDURE `proc_alarTigger`( alertTypeId int, alertValue float, terminalId int, networkType varchar(1), out flag int ) BEGINDECLARE rflag int; IF NOT EXISTS(SELECT * FROM alarm_shield WHERE alert_type_id=alertTypeId AND terminal_id=terminalId AND state='0') THEN IF EXISTS(SELECT * FROM alarm_shield WHERE alert_type_id=alertTypeId AND terminal_id=terminalId AND state='1') THEN SET flag=1; ELSE IF NOT EXISTS(SELECT * FROM alarm_shield WHERE alert_type_id=alertTypeId AND isglobal='1') THEN SET flag=1; ELSE SET flag=0; END IF; END IF ; ELSE SET flag=0; END IF; END;
out 关键字 flag 代表输出值
create procedure sp_test(a int,b int...) begin end
alertTypeId int,
alertValue float,
terminalId int,
networkType varchar(1),
out flag int
)
BEGINDECLARE rflag int;
IF NOT EXISTS(SELECT * FROM alarm_shield WHERE alert_type_id=alertTypeId AND terminal_id=terminalId AND state='0') THEN
IF EXISTS(SELECT * FROM alarm_shield WHERE alert_type_id=alertTypeId AND terminal_id=terminalId AND state='1') THEN
SET flag=1;
ELSE
IF NOT EXISTS(SELECT * FROM alarm_shield WHERE alert_type_id=alertTypeId AND isglobal='1') THEN
SET flag=1;
ELSE
SET flag=0;
END IF;
END IF ;
ELSE
SET flag=0;
END IF;
END;
flag 代表输出值
begin
end