MySQL学习--------存储过程和流程控制

1.局部变量

DECLARE varName varType [DEFAULT defVal]; #定义局部变量

SET 变量名=值;

SET @用户变量名=赋值;     #定义用户变量

2.存储过程


	delimiter $; #结束标识符
	CREATE PROCEDURE 存储过程名(存储类型 变量名 类型,....)
	BEGIN
				存储过程
	END $

	#调用
	CALL 存储过程名 $


	#存储类型
	#IN     参数
	CREATE PROCEDURE intest(IN b_name VARCHAR)
	BEGIN
				SELECT * 
				FROM book
				WHERE book.b_name = b_name;
	END $

	CALL intest $
	#OUT		返回值
	CREATE PROCEDURE outtest(IN b_id INT,OUT b_name VARCHAR)
	BEGIN
			SELECT book.b_name INTO b_name
			FROM book
			WHERE book.b_id = b_id;
			
	END
	CALL outtest$
	SELECT @b_name$
	#INOUT     是参数也是返回值
	CREATE PROCEDURE inouttest(INOUT a INT)
	BEGIN
		set a = a*2;
	END

	CALL inouttest$

3.函数

	#定义函数   注意有且仅有一个返回值
	CREATE FUNCTION 方法名(参数名 参数类型,......) RETURNS 返回值类型
	BEGIN
		 函数体
	END 结束标识符
	
	#使用  
	SELECT 函数名(参数)......

4.分支结构

分支

#if多分支

IF search_condition THEN
	statement_list
ELSEIF search_condition THEN
statement_list
.......
ELSE
	statement_list
END IF;


#case 情况一
CASE case_value
	WHEN when_value THEN
		statement_list
		.........
	ELSE
		statement_list
END CASE;

#case情况二
CASE
	WHEN when_value THEN
		statement_list
		.........
	ELSE
		statement_list
END CASE;

循环

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值