存储过程和存储函数

存储过程没有返回值,存储函数有返回值

存储过程

存储过程的参数类型有这几种:

  1. 没有参数(无参数无返回值)
  2. in(有参数无返回值)
  3. out(无参数有返回值)跟着——在查询语句后面加上into看下面的例子
  4. 即带in又带out(有参数有返回值)
  5. inout(有参数有返回值)

语法形式

sqlCREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 参数类型)
[characteristics……]
BEGIN 
	存储过程体
END

复制

在执行上面代码的时候,因为存储过程体中的sql语句有;而执行到;就结束了,但是我们还没有到我们存储过程的结束。所有我们要设置结束标志

设置结束标志: DELIMITER 新的结束标志 那么上面的代码可以这样写

sqlDELIMITER $
CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 参数类型)
[characteristics……]
BEGIN 
	存储过程体
END $
DELIMITER ;#从新把原来的;恢复

复制

例:OUT

sqlDELIMITER //

CREATE PROCEDURE show_min_salary(OUT ms DOUBLE)
BEGIN
	SELECT MIN(salary) INTO ms
	FROM employees;
END //

DELIMITER ;

复制

characteristics表示创建存储过程时对存储过程的约束条件 约束条件如下:

例:

sqlDELIMITER $
CREATE PROCEDURE select_min_salary()

BEGIN
	SELECT MIN(salary)
	FROM emp;
END $

DELIMITER ;

复制

调用——CALL select_min_salary(); CALL 存储过程

传入参数的时候可以自己定义参数,怎么设置参数,后面一节会讲解,暂时这样设置SET @变量名

存储函数

创建存储函数与创建存储过程差不多 语法形式:

sqlCREATE FUNCTION 函数名(参数名 参数类型)
RETURNS 返回类型
约束条件
BEGIN
	函数体
END

复制

调用存储函数 SELECT 函数名(实参列表)

查看

查看创建信息: SHOW CREATE {PROCEDURE | FUNCTION} 存储过程名或函数名

查看状态信息: SHOW {PROCEDURE | FUNCTION} STATUS ——这样会查看所有的 我们可以用模糊查询 SHOW {PROCEDURE | FUNCTION} STATUS LIKE '名字'

也可以从information_schema.Routines表 中查看

sqlSELECT * FROM information_schema.Routines
WHERE ROUTINE_NAME='存储过程或函数的名' [AND ROUTINE_TYPE = {'PROCEDURE|FUNCTION'}];

复制

不写写了,直接截图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红红火火a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值