MySql动态拼接SQL并动态赋值


CREATE DEFINER=`root`@`localhost` PROCEDURE `p_dc_log`(
IN UName VARCHAR(50),
IN Description VARCHAR(50),
IN PageSize int,
IN PageIndex int,
OUT TotalCount int
)
BEGIN
    set @QueryWhere = '';
    
    #条件查询
    IF LENGTH(UName) > 0 THEN
      set @QueryWhere = CONCAT(@QueryWhere,' AND UserName = ? ');
    END IF;
    
    IF LENGTH(Description) > 0  THEN
        set @QueryWhere = CONCAT(@QueryWhere,' AND Description LIKE ''%',Description,'%'' ');
    END IF;
    
    #查询总条数
    SELECT @QuerySql := CONCAT('SELECT COUNT(1) INTO @TotalCount FROM dc_log WHERE 1 = 1',@QueryWhere);

    PREPARE stmt FROM 'SELECT COUNT(1) INTO @TotalCount FROM dc_log WHERE 1 = 1';
    
    EXECUTE stmt;    
    
    SELECT @TotalCount AS Tcount;
    
    SET TotalCount = @TotalCount;
END

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM