温馨提示×

casewhen语句在存储过程中的应用

小樊
90
2024-09-07 04:50:32
栏目: 云计算

CASE...WHEN 语句在 SQL 存储过程中的应用主要是用于根据特定条件执行不同的操作或返回不同的值

以下是一个简单的示例,展示了如何在存储过程中使用 CASE...WHEN 语句:

DELIMITER //
CREATE PROCEDURE GetEmployeeStatus(IN emp_id INT)
BEGIN
    DECLARE emp_status VARCHAR(50);

    SELECT
        CASE
            WHEN status = 'active' THEN 'Employee is active'
            WHEN status = 'inactive' THEN 'Employee is inactive'
            ELSE 'Employee status is unknown'
        END AS emp_status
    INTO emp_status
    FROM employees
    WHERE id = emp_id;

    SELECT emp_status;
END //
DELIMITER ;

在这个示例中,我们创建了一个名为 GetEmployeeStatus 的存储过程,该过程接受一个输入参数 emp_id。然后,我们使用 CASE...WHEN 语句根据员工的状态(activeinactive)返回相应的消息。最后,我们将结果存储在 emp_status 变量中并返回。

要调用此存储过程,可以使用以下命令:

CALL GetEmployeeStatus(1);

这将返回员工 ID 为 1 的员工状态。

0