MySQL:存储过程(参考模版)

create PROCEDURE test_procedure(in in1 INT , in in2 INT, out out1 INT,out out2 VARCHAR(255))
READS SQL DATA
BEGIN
	DECLARE v_return_rows INT;	-- 定义变量(int类型)
	DECLARE v_id INT;
	DECLARE v_title VARCHAR(255);
	DECLARE cur_bs_demo CURSOR for SELECT id,demo_title FROM bs_demo;
	-- DECLARE not_found_table_condition CONDITION for 1146;		-- 定义条件(也可称定义变量(条件类型))【条件处理2】
	-- DECLARE EXIT HANDLER for 1146 SET out1 = -1;	-- 定义条件的处理(使用预定义条件)【条件处理1】
	-- DECLARE EXIT HANDLER for not_found_table_condition SET out1 = -2; -- 定义条件的处理(使用自定义条件变量)【条件处理2】
	DECLARE EXIT HANDLER for NOT FOUND CLOSE cur_bs_demo;
	select * from bs_demo;
	select FOUND_ROWS() into v_return_rows;	-- 赋值给变量
	set out1 = v_return_rows;	-- 将变量赋值给返回值
	-- select * from bs_demo_error;	-- 执行错误的sql语句 报1146错误【条件处理 1 2】
OPEN cur_bs_demo;
	REPEAT
		FETCH cur_bs_demo into v_id,v_title;
		IF v_id = 832 THEN
		SET out2 = v_title;
		END IF;
	UNTIL 0 END REPEAT;
CLOSE cur_bs_demo;
	
	
END
-- 创建过程

call test_procedure(1,1,@testJ,@testJO2);	-- 调用过程

select @testJ,@testJO2 ;	-- 显示输出值

show PROCEDURE STATUS like 'test_procedure'; -- 查看过程的状态信息

show create PROCEDURE test_procedure ;	-- 查看过程的定义

drop PROCEDURE if EXISTS test_procedure;	-- 删除过程

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值