存储过程:
存储过程是用于将代码存储在数据库端,通过存储过程名称就可以调用。存储过程类似于java的方法,但是也是有区别的,方法只能返回一个值,并且需要声明返回值的类型,但是存储过程可以带出多个值,而且不需要声明返回值的类型,而且也可以带值进和带值出。
存储过程代码格式:
DELIMITER $$
CREATE PROCEDURE 存储过程名称(参数)
BEGIN
代码书写
END$$
DELIMITER ;
存储过程里面可以写很多代码,将一些功能操作使用存储过程来完成,并且存储在数据库端,连接数据库的时候就可以直接使用名称进行调用。
虽然存储过程可以将一些功能在数据库端实现,并且只需要使用名称就可以调用,但是这种代码可移植性差,因为每个数据库的存储过程的sql语法都不太一样。所以不能直接将代码移植,移植的话需要重写一部分代码,所以存储过程实际上也并不经常使用,但是却是必须了解学习的一个知识点。
创建存储过程:
在数据库中是可以进行编程的,所以也是有流程控制语句的。例如可以在存储过程中写if语句:
mysql中的if语句和java中的不太一样,是类似于vb般的使用英文中的单词来作为大括号。If后面写条件然后then和else之间写需要执行的代码,然后使用end if来作为if语句的结束。
既然有if语句自然就有多路分支语句,在mysql中多路分支语句的条件是写在eselif后面的,条件的后面写then:
调用存储过程:
使用CALL关键字调用存储过程,声明了参数的话,需要按照声明的参数类型传递值:
删除存储过程:
使用表结构删除语句删除存储过程,写上存储过程关键字和存储过程名称即可:
关于值:
存储过程可以有以下几种类型带值方式:
1.带值进
2.带值出
3.带值进+带值出
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有