数据库的存储过程

10 篇文章 0 订阅

数据库的存储过程

一、定义

存储过程是一种数据库对象,它封装了一组 SQL 语句和逻辑操作,可以通过调用存储过程来执行这些操作。

理解:类似于函数

注意:存储过程必须调用,才有用!!!

好处:减少代码的冗余

二、最简单的存储过程(无传入参数无返回参数的存储过程)

delimiter xx
CREATE PROCEDURE pro01()
	BEGIN
		SELECT * FROM student;
		SELECT * FROM course;
		SELECT * FROM class;
	END xx
delimiter ;

# 调用存储过程
CALL pro01();

参数类别:in – 传入参数, out – 传出参数, inout – 传入传出参数

三、需求一

需求:创建存储过程,传入id,查询出该学生的信息

delimiter xx
CREATE PROCEDURE pro02(IN s_id INT) # s_id叫做形式参数(形参) ,形参必须规定类型
	BEGIN
		SELECT * FROM student WHERE id=s_id;
	END xx
delimiter ;
# 调用存储过程
CALL pro02(1); # 2叫做实际参数(实参),实参表示传入的具体数据,实参最好和形参的类型一致

四、需求二

需求:创建存储过程,传入id,传出学生的姓名

delimiter xx
CREATE PROCEDURE pro03(IN s_id INT,OUT s_name VARCHAR(32))
	BEGIN
		SELECT name INTO s_name FROM student WHERE id=s_id;
	END xx
delimiter ;

# 调用存储过程
CALL pro03(1,@s_name);
SELECT @s_name;

五、需求三

需求:创建存储过程,传入id,传出学生的年龄

注意:传入参数和传出参数的类型是一样的,就可以将二者合并(INOUT)

delimiter xx
CREATE PROCEDURE pro04(INOUT param INT)
	BEGIN
		SELECT age INTO param FROM student WHERE id=param;
	END xx
delimiter ;

# 调用存储过程
set @param = 2; # 声明一个变量
CALL pro04(@param);
SELECT @param;

六、删除存储过程

DROP PROCEDURE pro01;
DROP PROCEDURE pro02;
DROP PROCEDURE pro03;
DROP PROCEDURE pro04;
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值