【发布时间】:2014-03-24 17:20:14
【问题描述】:
此存储过程未在游标循环内的 SELECT 语句中读取关键字“into”。 “选择 empid 进入 vempid” 任何帮助将不胜感激。
BEGIN
DECLARE processed,vAttendEmpid,vNoOfDays, vempid, vbasic_pay, vallowance, vda, vhra, vmeal_voucher, vcar_allowance, vchild_education ,vID INT DEFAULT 0;
DECLARE curAttendance CURSOR FOR Select empid, count(in_date_time) as d1 from emp_attendance_processed where DATE_FORMAT( in_date_time, '%m' ) = process_month and DATE_FORMAT( in_date_time, '%Y' ) = process_year group by empid order by empid;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET processed = 1 ;
OPEN curAttendance;
REPEAT
FETCH curAttendance INTO vAttendEmpid, vNoOfDays;
IF NOT processed THEN
Select vNoOfDays;
SELECT empid into vempid, basic_pay into vbasic_pay, allowance into vallowance, da into vda, hra into vhra,
meal_voucher into vmeal_voucher, car_allowance into vcar_allowance, child_education into vchild_education**
from empsalary where empid= vAttendEmpid;
SET vbasic_pay = vbasic_pay*(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
SET vallowance = vallowance *(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
SET vda = vda *(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
SET vhra = vhra *(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
SET vmeal_voucher = vmeal_voucher *(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
SET vcar_allowance = vcar_allowance *(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
SET vchild_education = vchild_education *(vNoOfDays/DATE_FORMAT( LAST_DAY(CONCAT(process_year,'-',process_month,'-','01')),'%d'));
insert into emp_salary_processed (empid, basic_pay, allowance, da, hra, meal_voucher, car_allowance, child_education)
values(vempid, vbasic_pay, vallowance, vda, vhra, vmeal_voucher, vcar_allowance, vchild_education);
commit;
END IF;
UNTIL processed END REPEAT;
CLOSE curAttendance;
commit;
END
【问题讨论】:
标签: mysql select stored-procedures cursor