SELECT
语句来返回值。,,“sql,DELIMITER //,CREATE PROCEDURE GetEmployeeName(IN emp_id INT),BEGIN, SELECT name FROM employees WHERE id = emp_id;,END //,DELIMITER ;,
“概述
MySQL存储过程是一组SQL语句的集合,可以通过调用存储过程名来执行,存储过程中可以包含参数,这些参数可以在调用存储过程时传递,存储过程还可以返回一个或多个值,这些值可以是标量值(如数字、字符串等)或者表。
存储过程返回值类型
1、标量值:存储过程可以返回一个标量值,如数字、字符串等,在创建存储过程时,需要指定返回值的数据类型。
2、表:存储过程也可以返回一个表,这个表是由查询结果生成的,在创建存储过程时,需要指定返回值的数据类型为TABLE
。
创建存储过程并返回标量值
1、使用DELIMITER
关键字更改语句分隔符,以便在存储过程中使用分号。
DELIMITER //
2、创建存储过程,指定返回值的数据类型和名称。
CREATE PROCEDURE GetEmployeeCount(IN department_id INT, OUT employee_count INT) BEGIN SELECT COUNT(*) INTO employee_count FROM employees WHERE department_id = department_id; END // DELIMITER ;
3、调用存储过程,传递参数并获取返回值。
SET @department_id = 1; SET @employee_count = 0; CALL GetEmployeeCount(@department_id, @employee_count); SELECT @employee_count;
创建存储过程并返回表
1、使用DELIMITER
关键字更改语句分隔符,以便在存储过程中使用分号。
DELIMITER //
2、创建存储过程,指定返回值的数据类型为TABLE
。
CREATE PROCEDURE GetEmployeesByDepartment(IN department_id INT) BEGIN SELECT * FROM employees WHERE department_id = department_id; END // DELIMITER ;
3、调用存储过程,传递参数并获取返回值。
CALL GetEmployeesByDepartment(1);
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/640077.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复