1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MySQL存储过程 游标 错误处理的示例代码

MySQL存储过程 游标 错误处理的示例代码

时间:2020-09-19 03:37:23

相关推荐

MySQL存储过程 游标 错误处理的示例代码

数据库|mysql教程

MySQL,错误,游标

数据库-mysql教程

MySQL存储过程 游标 错误处理的示例代码

仿太平洋亲子网源码,vscode活动文件不是c,ant ubuntu,tomcat7 gzip,sqlite怎么,网页设计有那些职位,通过域名访问数据库,网站服务器参数查询,dz 插件,前端框架mx,风行爬虫,php 逻辑运算符,广州seo建站,如何扫springboot,网页的页面内容写在 和 标签之间,t恤定制网站源码,网页视频插件代码,轮播模板,网站模板加后台,移动端页面切换特效,数据库管理系统图书管理系统,钩子程序 示例lzw

--set_account_data 重新生成用户编号BEGIN DECLARE temp_id INT(8); /*用户id*/ DECLARE temp_manager INT(8); /*上级id*/ DECLARE temp_accounter_no VARCHAR(64); /*上级编码*/ DECLARE temp_max_no VARCHAR(64); /*上级的最大下级编码*/ DECLARE max_no VARCHAR(64);/*编码*/ DECLARE str1 VARCHAR(64); /*编码*/ DECLARE temp_no INT(8); /*编码*/ DECLARE temp_level INT(8);/*级次*/ DECLARE state VARCHAR(30);/*错误处理监听变量*/ /*定义用户表游标*/ DECLARE account_cursor CURSOR FOR SELECT id,manager FROM account ORDER BY manager,id; /*定义错误处理监听,用于结束游标循环*/ DECLARE CONTINUE HANDLER FOR 1329 BEGIN SET state = error; END; OPEN account_cursor; REPEAT FETCH account_cursor INTO temp_id,temp_manager; IF (temp_id = 1) THEN UPDATE account SET leaf = 0,no = 1,level = 1 WHERE id = 1; ELSE /*设置上级leaf为0*/ UPDATE account SET leaf = 0 WHERE id = temp_manager; /*查询上级编号*/ SELECT no INTO temp_accounter_no FROM account WHERE id = temp_manager; /*设置上级编码*/ UPDATE account SET pno = temp_accounter_no WHERE id = temp_id; /*查询上级原有的最大下级编码*/ SELECT MAX(no) INTO temp_max_no FROM account WHERE pno = temp_accounter_no; /*如果最大下级编码为空,生成新的编码,否则把原来的编码加一*/ IF (temp_max_no IS NULL) THENSET max_no = concat(temp_accounter_no, 001); ELSE SET str1 = SUBSTR(temp_max_no,LENGTH(temp_max_no)-3,4);SET temp_no = str1;SET temp_no = temp_no + 1;SET str1 = temp_no;IF (LENGTH(str1) = 1) THEN SET str1 = concat(00, str1);ELSEIF (LENGTH(str1) = 2) THEN SET str1 = concat(0, str1);ELSEIF (LENGTH(str1) = 3) THEN SET str1 = concat(, str1); END IF;SET max_no = concat(temp_accounter_no, str1); END IF; UPDATE account SET no = max_no WHERE id = temp_id; SET temp_level = (LENGTH(max_no) + 2) / 4; UPDATE account SET level = temp_level WHERE id = temp_id; END IF; UNTIL state = error END REPEAT; CLOSE account_cursor; /*修改leaf为null的为1*/ UPDATE account SET leaf = 1 WHERE leaf IS NULL; RETURN 0;END

mp3频谱源码下载,vscode f12出不来,ubuntu与主机,tomcat 安装版设置,hadoop web爬虫,php 判断系统环境,亚马逊seo是什么关键词lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。