DELIMITER // CREATE PROCEDURE GetUserInfo(IN userId INT) BEGIN
SELECT * FROM users WHERE id = userId;
END // DELIMITER ;
DELIMITER $$ CREATE PROCEDURE CountUsersByDepartment(IN dept_name VARCHAR(50), OUT user_count INT) BEGIN
SELECT COUNT(*) INTO user_count FROM users WHERE department = dept_name;
END $$ DELIMITER ;
CREATE PROCEDURE GenerateSalesReport(IN start_date DATE, IN end_date DATE) BEGIN
CREATE TEMPORARY TABLE temp_sales_data
SELECT product_id, SUM(quantity) as total_qty, SUM(amount) as total_amount
FROM sales
WHERE sale_date BETWEEN start_date AND end_date
GROUP BY product_id;
-- 基于临时表进行复杂计算
SELECT * FROM temp_sales_data WHERE total_amount > 10000;
DROP TEMPORARY TABLE temp_sales_data;
END