mysql demo_mysql存储过程demo

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;-- 删除过程

标签:存储,cur,INT,demo,mysql,bs,test,DECLARE

来源: https://blog.csdn.net/Bof_jangle/article/details/90696564

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值