本帖最后由 aeolus_boy 于 2011-07-05 11:53:05 编辑

解决方案 »

  1.   

    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;
      

  2.   

    out 关键字 
    flag 代表输出值
      

  3.   

    create procedure sp_test(a int,b int...)
    begin
    end