MySQL存储过程

本文介绍了MySQL存储过程的概念,强调其与函数的区别,并详细阐述了如何创建、执行、修改和删除存储过程。此外,还讲解了存储过程的错误处理机制,包括自定义错误和错误处理程序。
摘要由CSDN通过智能技术生成

1.存储过程的概念
对于SQL编程而言,存储过程是数据中的一个重要的对象,它是在大型数据库系统中一组为了完成特定功能的SQL语句集,在第一次使用经过编译后,再次调用就不需要重复编译,因此执行效率比较高。
存储过程与函数的相同点在于,它们的目的都是为了可重复地执行数据库SQL语句的集合,并且都是经过一次编译后,后面再次需要时直接执行即可.
存储过程与函数的不相同点有四个,具体如下.

  • 语法中实现的标识符不同,存储过程使用 PROCEDURE,函数为FUNCTION 。
  • 存储过程在创建时没有返回值,而函数在定义时必须设置返回值.
  • 存储过程没有返回值类型,且不能将结果直接赋值给变量;而函数定义时需要设置返回值类型,且在调用时必须将返回值赋给变量
  • 存储过程必须通过CALL进行调用,不能使用 SELECT调用;而函数则可在SELECT语句中直接使用

2.存储过程的创建与执行
DELIMITER新结束符号
CREATE PROCEDURE过程名字([[IN|OUT|INOUT]参数名称 参数类型])
BEGIN
过程体
END
新结束符号
DELIMITER;

存储过程设置参数时,在参数名前还可以指定参数的来源及用途,区别如下.
IN:表示输入参数,即参数是在调用存储过程时传入到存储过程里面使用,传入的数据可以是直接数据(如5),也可以是保存数据的变量.
OUT:表示输出参数,初始值为NULL,它是将存储过程中的值保存到OUT指定的参数中,返回给调用者
INOUT:表示输入输出参数,即参数在调用时传入到存储过程,同时在存储过程中操作之后,又可将数据返回为调用者

Delimiter $$ 
Create Procedure proc(In sid Int) 
Begin 
 Select id,name 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值