子程序
存储过程和函数是用
CREATE PROCEDURE语句
CREATE FUNCTION 语句
创建的子程序
什么是存储过程
存储过程(procedure)类似于编程语言中的函数
用来执行管理任务或应用复杂的业务规则
存储过程可以带参数,也可以返回结果
存储过程可以包函数据库操纵语句、变量、逻辑控制语句等
存储过程的创建
语法
create proceduresp_name([proc_parameter[…]]) routine_body
示例:无参数存储过程
create procedurep_getStudents()
select * from student;
调用
call p_setStudents();
局部变量
- 存储过程内使用的变量称为局部变量
- 局部变量的声明必须放在begin…end块中
- 一次可以声明多个同类型的局部变量
- 可以在声明的同时为变量赋默认值
- 声明语法:
declare var_name[...]type [default value]
为变量赋值
有两种方法
- 使用set语句
一次可以为多个不同类型的变量赋值
set var_name = expr[, var_name = expr]… - 使用select语句
select col_name[…] into var_name[…] table_expr
局部变量示例
# mysql创建存储参数
delimiter $$
#声明一个名称为get_studente_introdece的变量
create PROCEDURE get_student_name(in p_userName varchar(20),in p_phone VARCHAR(11),in p_sex char(2),in p_introduce varchar(255))
# 开始操作
BEGIN
# DML+DQL撰写数据库操作语句
insert into student (userName,phone,sex,introduce) values (p_userName,p_phone,p_sex,p_introduce);
# 结束
end $$
delimiter;
# 调用函数
call insert_student('张三','15812345678','男','法外狂徒');