假设我们有一个表格名为“table_name”,这个表格中有两列分别为“col1”和“col2”,我们需要从中选择数据并将其放入特定的列“target_col”中,具体实现如下:
DELIMITER $$
CREATE PROCEDURE select_data
(IN input_var INT)
BEGIN
UPDATE table_name
SET target_col = CASE
WHEN input_var = 1 THEN col1
WHEN input_var = 2 THEN col2
ELSE NULL
END;
END$$
DELIMITER ;
在上述示例中,我们创建了一个名为“select_data”的存储过程,并带有一个输入参数“input_var”。在存储过程的主体部分中,我们使用“UPDATE”命令来选择表格“table_name”中的数据,并使用“CASE”函数判断输入变量的值。根据不同情况,我们选择将“col1”或“col2”的数据放入“target_col”中,或者为空(当输入变量的值不是1或2时)。最后,使用“END”结束“CASE”函数和“UPDATE”命令。请注意,这个存储过程的具体实现可能因不同的表格结构而有所不同。