【发布时间】:2014-04-11 06:18:15
【问题描述】:
我有以下 sql 脚本,我想用多查询执行它
DELIMITER $$
DROP FUNCTION IF EXISTS `getAttendanceHistoryDates`$$
CREATE FUNCTION getAttendanceHistoryDates(processDate date)
RETURNS TEXT
DETERMINISTIC
LANGUAGE SQL
BEGIN
DECLARE minDate date;
DECLARE startYear int;
DECLARE endYear int;
DECLARE dateString TEXT;
SET minDate = (SELECT MIN(date) FROM `ohrm_attendance_report`);
SET startYear = YEAR(minDate);
SET endYear = YEAR(processDate);
SET dateString = processDate;
WHILE startYear < endYear DO
SET dateString = CONCAT(dateString,'|',CONCAT(startYear, '-12-31'));
SET startYear = startYear + 1;
END WHILE;
RETURN dateString;
END;
$$
DELIMITER ;
有没有办法做到这一点?如果我只是从脚本中删除 DELIMITER $$ 和 DELIMITER ; 并将 $$ 替换为 ; 并使用多查询执行,它会起作用吗?
【问题讨论】:
标签: php mysql mysqli-multi-query