MySQL存储过程是一种在数据库中存储的预编译SQL语句集合,可以通过调用存储过程名来执行,存储过程可以带有输入参数、输出参数和返回值,可以实现复杂的业务逻辑和数据操作。
创建存储过程
1、使用CREATE PROCEDURE
语句创建存储过程:
CREATE PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype, ...) BEGIN SQL语句 END;
2、示例:创建一个名为add_employee
的存储过程,接收两个输入参数emp_id
和emp_name
,并插入到employees
表中。
DELIMITER // CREATE PROCEDURE add_employee(IN emp_id INT, IN emp_name VARCHAR(255)) BEGIN INSERT INTO employees (id, name) VALUES (emp_id, emp_name); END // DELIMITER ;
调用存储过程
1、使用CALL
语句调用存储过程:
CALL procedure_name(parameter1, parameter2, ...);
2、示例:调用add_employee
存储过程,插入一条员工记录。
CALL add_employee(1, '张三');
修改存储过程
1、使用ALTER PROCEDURE
语句修改存储过程:
ALTER PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype, ...) BEGIN SQL语句 END;
2、示例:修改add_employee
存储过程,添加一个输出参数emp_age
。
DELIMITER // ALTER PROCEDURE add_employee(IN emp_id INT, IN emp_name VARCHAR(255), OUT emp_age INT) BEGIN SELECT age INTO emp_age FROM employees WHERE id = emp_id; INSERT INTO employees (id, name, age) VALUES (emp_id, emp_name, emp_age); END // DELIMITER ;
删除存储过程
1、使用DROP PROCEDURE
语句删除存储过程:
DROP PROCEDURE procedure_name;
2、示例:删除add_employee
存储过程。
DROP PROCEDURE add_employee;
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/647676.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复