MariaDB建存储过程和执行存储过程

本文详细介绍了如何在MariaDB中创建存储过程,包括设置IN参数、使用DECLARE语句、定义游标、查询与插入操作,以及执行和删除存储过程的过程。还涉及了存储过程中的内部变量定义和使用方法。
摘要由CSDN通过智能技术生成

 在MariaDB中建存储过程

CREATE PROCEDURE pro_test(IN par1 int,IN par2 int)
BEGIN
    -- 设定循环标记
    DECLARE done INT DEFAULT FALSE;
    -- 定义查询结果单条记录集,变量名和查询sql中的字段名需要相同
	DECLARE rec ROW(c1 INT, c2 INT, c3 float);
    --定义游标
	DECLARE c CURSOR FOR 

	    -- 查询sql ... ; 
        select c1,c2,c3 from tablename where f1= par1;   
    
        -- 有异常时退出
	    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
        -- 打开游标
		OPEN c;

		read_loop:

		LOOP
        -- 循环赋值变量体
		FETCH c INTO rec;
        -- 如果结束或异常跳出循环
		IF done THEN
            -- 跳出循环
		    LEAVE read_loop;

		END IF;
            -- 执行sql,使用变量体时在rec中取出
            insert into tablenamenew (v1,v2) values ( rec.c1 , rec.c2 );
						
		END LOOP;
        -- 关闭游标
		CLOSE c;

END;

执行存储过程

call pro_test (100,200);

删除存储过程

drop PROCEDURE pro_test;

存储过程中定义和使用内部变量

-- 定义和赋值变量

-- 方法1

select sum(f1) into @co from tablename where f2 = 1;

-- 方法2

set @co = 100;


-- 使用变量

select @co

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值