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