文章目录
stored procedures
创建stored procedures
存储过程(Stored Procedure)是:大型数据库系统中,一组为了完成特定功能的 SQL 语句集,这些SQL语句集存储在数据库中,经过第一次编译后,后续调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
存储过程是数据库的一个重要对象。
- 创建一个存储过程
use sql_invoicing;
//DELIMITER将标准分隔符分号";"更改为$$,保证存储过程内容的整体性
DELIMITER $$
//创建一个新的存储过程,存储过程的名字为get_clients()
CREATE PROCEDURE get_clients()
//BEGIN和END之间的部分称为存储过程的主体
BEGIN
SELECT * FROM clients;
END$$
DELIMITER ;
- 调用一个存储过程
call sql_invoicing.get_clients();
使用MySqlWorkbeach创建stored procedures
自己写时,每次都要修改限定符有点麻烦,可以按照如下步骤
- 每个database中有 Stored Procedures,右击选择CREATE Stored Procedures
- 只需要关注自己需要填写的内容
- 点击Apply按钮
顺便说下删除stored procedures
DROP PROCEDURE IF EXISTS get_invoices;
- 在点击右下角Apply
Parameters
对于stored procedures构成的参数可以进行传参
USE `sql_invoicing`;
DROP procedure IF EXISTS `git_clients`;
DELIMITER $$
USE `sql_invoicing`$$
//state 参数名;char(2)参数类型
CREATE PROCEDURE `git_clients` (state char(2))
BEGIN
select * from client c
where c.state = state;
END$$
DELIMITER ;
- 调用