我有一个存储过程,其中有一个准备好的语句,我需要在其中一列数据中插入' '
。这是我的存储过程。
CREATE DEFINER=`root`@`localhost` PROCEDURE `manage_page`(IN `actionType` VARCHAR(100), IN `actionValue` TEXT)
BEGIN
###########################################################
if(actionType='showDetails') then
SET @P_DEPT = '
SELECT COUNT(*) AS TotalGPCandidates FROM user_mstr WHERE User_DeletedFlag=false';
SET @P_DEPT = concat(@P_DEPT,' and Gender= "Female"');
PREPARE STMT FROM @P_DEPT;
EXECUTE STMT;
end if;
END
但即使有12个女性用户,我也会得到0。
您可以逃离它们:
SET @P_DEPT = '
SELECT COUNT(*) AS TotalGPCandidates FROM user_mstr WHERE User_DeletedFlag=false';
SET @P_DEPT = concat(@P_DEPT,' and Gender= 'Female'');
-- test the returned query
select @P_DEPT ;
你的第二套实际上是无用的,而你可以直接将这个条件添加到第一套中。