Código:
como debo finalizar el stored procedure para q me funcione bien?? el delimitador q estoy usando es $$, atento a sus contestaciones y de antemano muchas gracias.... bye DELIMITER $$ DROP PROCEDURE IF EXISTS descontar_feriados $$ CREATE PROCEDURE descontar_feriados (funCodigo VARCHAR (11), diasPedidos INT) begin declare feriado1, feriado2, resultado_fer1, resultado_fer2, resultado_intermedio INT; set feriado1=0; SELECT fer_1, fer_2 INTO feriado1, feriado2 FROM datos WHERE Fun_Codigo = funCodigo; #feriado1 mayor q dias pedidos CASE 1 WHEN feriado1>diasPedidos THEN SET resultado_fer1= feriado1 - diasPedidos; UPDATE datos SET fer_1 = resultado_fer1 WHERE Fun_Codigo= funCodigo; #feriado1 igual q dias pedidos CASE 2 WHEN feriado1 = diasPedidos THEN SET resultado_fer1= feriado1 - diasPedidos; UPDATE datos SET fer_1 = resultado_fer1 WHERE Fun_Codigo= funCodigo; #feriado1 menor q dias pedidos CASE 3 WHEN feriado1<diasPedidos THEN SET resultado_fer1 = diasPedidos- feriado1 ; SET resultado_intermedio = feriado2 - resultado_fer1; UPDATE datos SET fer_ = 0 WHERE Fun_Codigo= funCodigo; UPDATE datos SET fer_2 = resultado_intermedio WHERE Fun_Codigo= funCodigo; #feriado2 mayor q dias pedidos CASE 4 WHEN feriado1 = 0 and feriado2> diasPedidos THEN SET resultado_fer2 = feriado2 - diasPedidos; UPDATE datos SET fer_2 = resultado_fer2 WHERE Fun_Codigo= funCodigo; #feriado2 igual q dias pedidos CASE 5 WHEN feriado2 = diasPedidos THEN SET resultado_fer2 = feriado2 - diasPedidos; UPDATE datos SET fer_2 = resultado_fer2 WHERE Fun_Codigo= funCodigo; CASE 6 WHEN feriado1<=0 and feriado2 <= 0 then UPDATE datos SET fer_1 = 0, fer_2 = 0 WHERE Fun_Codigo= funCodigo; END case; END $$