All pastes #662609 Raw Edit

Anonymous

public text v1 · immutable
#662609 ·published 2007-08-18 22:30 UTC
rendered paste body
DELIMITER //
CREATE PROCEDURE update_charge(
 IN p_user_id,
 IN p_task_id,
 IN p_num_hours,
 IN p_charged_date
)
BEGIN
    DECLARE v_count_charges    int;
    DECLARE v_charge_id        int;
    
    SELECT count(*) INTO v_count_charges
    FROM charge
    WHERE user_id = p_user_id
    AND task_id = p_task_id
    AND charged_date = p_charged_date;
    
    IF v_count_charges > 0 THEN
        UPDATE charges
        SET num_hours = p_num_hours,
        WHERE user_id = p_user_id
        AND task_id = p_task_id
        AND charged_date = p_charged_date;
    ELSE
        INSERT INTO charges
        (
            user_id,
            task_id,
            num_hours,
            charged_date    
        ) VALUES (
            p_user_id,
            p_task_id,
            p_num_hours,
            p_charged_date
        );
    END IF;
END;
//