Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql调用存储过程

作者:——愿望   发布日期:2025-02-25   浏览:128

-- 创建一个简单的存储过程
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;

解释说明:

  1. 创建存储过程

    • 使用 DELIMITER $$ 改变语句结束符为 $$,以避免在存储过程中使用分号导致语法错误。
    • CREATE PROCEDURE GetEmployeeInfo(...) 定义了一个名为 GetEmployeeInfo 的存储过程,接受一个输入参数 emp_id 和两个输出参数 emp_nameemp_salary
    • 在存储过程体内,通过 SELECT ... INTO ... 语句查询员工信息,并将结果赋值给输出参数。
  2. 调用存储过程

    • 使用 SET 语句设置输入参数和输出参数的初始值。
    • 使用 CALL GetEmployeeInfo(...) 调用存储过程,并传递参数。
    • 最后使用 SELECT 语句查看输出参数的结果。
  3. 恢复默认结束符

    • 使用 DELIMITER ; 恢复默认的语句结束符。

上一篇:mysql 切割字符串

下一篇:go mysql

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

python mysql update

mysql 查看权限

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站