mysql存储过程执行update_MySQL存储过程实现动态执行SQL

该博客介绍了如何在MySQL中创建存储过程,用于执行动态SQL更新操作。通过定义参数和游标,从临时表中读取数据,更新或插入到主表中,实现了根据指定条件动态更新记录的功能。
摘要由CSDN通过智能技术生成

--存储过程名和参数,参数中in表示传入参数,out标示传出参数,inout表示传入传出参数

create procedure p_procedurecode(in sumdate varchar(10))

begin

declare v_sql varchar(500); --需要执行的SQL语句

declare sym varchar(6);

declare var1 varchar(20);

declare var2 varchar(70);

declare var3 integer;

--定义游标遍历时,作为判断是否遍历完全部记录的标记

declare no_more_departments integer DEFAULT 0;

--定义游标名字为C_RESULT

DECLARE C_RESULT CURSOR FOR

SELECT barcode,barname,barnum FROM tmp_table;

--声明当游标遍历完全部记录后将标志变量置成某个值

DECLARE CONTINUE HANDLER FOR NOT FOUND

SET no_more_departments=1;

set sym=substring(sumdate,1,6); --截取字符串,并将其赋值给一个遍历

--连接字符串构成完整SQL语句,动态SQL执行后的结果记录集,在MySQL中无法获取,因此需要转变思路将其放置到一个临时表中(注意代码中的写法)。一般写法如下:

-- 'Create TEMPORARY Table 表名(Select的查询语句);

set v_sql= concat('Create T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值