-- 创建一个简单的存储过程
DELIMITER $$
CREATE PROCEDURE GetEmployeeInfo(IN emp_id INT, OUT emp_name VARCHAR(100), OUT emp_salary DECIMAL(10, 2))
BEGIN
-- 查询员工信息并赋值给输出参数
SELECT name, salary INTO emp_name, emp_salary
FROM employees
WHERE id = emp_id;
END$$
DELIMITER ;
-- 调用存储过程
SET @emp_id = 1;
SET @emp_name = '';
SET @emp_salary = 0.0;
CALL GetEmployeeInfo(@emp_id, @emp_name, @emp_salary);
-- 查看结果
SELECT @emp_name, @emp_salary;
创建存储过程:
DELIMITER $$ 改变语句结束符为 $$,以避免在存储过程中使用分号导致语法错误。CREATE PROCEDURE GetEmployeeInfo(...) 定义了一个名为 GetEmployeeInfo 的存储过程,接受一个输入参数 emp_id 和两个输出参数 emp_name 和 emp_salary。SELECT ... INTO ... 语句查询员工信息,并将结果赋值给输出参数。调用存储过程:
SET 语句设置输入参数和输出参数的初始值。CALL GetEmployeeInfo(...) 调用存储过程,并传递参数。SELECT 语句查看输出参数的结果。恢复默认结束符:
DELIMITER ; 恢复默认的语句结束符。上一篇:mysql 判断是否为数字
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站