mysql存贮过程编写
这篇并不是说如何去写存贮过程,只是自己以前在测试过程中主要是查看,获取数据库里的数据,偶尔删除一些脏数据。然后这次因为手动测试组想做一个批量审批的测试,因为流程繁杂,因此想用一种快速的方式去做,于是就想到了存贮过程直接操作db。这也是第一次写这玩意,边查边写,最后也踉踉跄跄的写出来了,其实就和咱们平时用开发语言写脚本差不多,知识基础的语法不通罢了。下面直接贴上代码,留在这里也算是一个节点。
BEGIN #定义各种变量,其中tid_是从输入参数
declare title_ VARCHAR(255);
declare cuid VARCHAR(255);
declare uid VARCHAR(64);
declare uid_ VARCHAR(64);
declare loc INT DEFAULT 2;
declare size INT DEFAULT 1;
declare confim VARCHAR(255);
declare confim_ VARCHAR(255);
declare cunt INT;
#这里有一个关键字into,就是把查询到的结果保存到title_变量,下面还有一个select title_语句,这表示执行时把变量显示出来,有点类似print的意思
select title into title_ from dyoa_task where id = tid_;
select confirm into confim from dyoa_task where id = tid_;
update dyoa_task SET status = 1, doing = '', do_after = '', do_berfor = confim WHERE id = tid_;
#concat拼接函数
#select CONCAT('|',confim) into confim; #这是获取字符串中“|”符号的个数
select LENGTH(confim)-LENGTH( REPLACE(confim,'|','') ) into size;
#select size; select count(*) into cunt from dyoa_confirm_list where tid = tid_; if cunt > 0 THEN
delete from dyoa_confirm_list where tid = tid_;
#select tid_;
end if; while size>0 do
#substring,截取字符串
select SUBSTRING_INDEX(confim, '|', 1) into cuid;
#select cuid; #select REPLACE(confim,cuid,'') into confim_;
select SUBSTRING_INDEX(confim, '|', -size) into confim_;
select confim_; set confim = confim_; SELECT SUBSTRING(cuid,4) into uid;
#select uid;
select REPLACE(uid,'_','') into uid_;
select uid_; set size = size - 1;
#select size;
#select POSITION('|' IN confim, '|', size) into loc;
#select loc; #while size>0 do insert into dyoa_confirm_list(uid,tid,status,mark,ctime,utime) values(uid_,tid_,1,'shenpi',UNIX_TIMESTAMP(),UNIX_TIMESTAMP()); #set loc = loc + 1; end while; end if; END
整个代码功能其实不负责,主要是一些字符串的处理占了一些代码。
mysql存贮过程编写的更多相关文章
- Mysql加锁过程详解(6)-数据库隔离级别(1)
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- MySQL 储存过程-原理、语法、函数详细说明
Mysql储存过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命 ...
- MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法
MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法 错误2,系统找不到文件. 开始...运行... regedit 注册表项: HKEY_LOCAL_ ...
- mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决
mysql安装过程中出现错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement解决 最近新装好的my ...
- MySQL关闭过程详解和安全关闭MySQL的方法
MySQL关闭过程详解和安全关闭MySQL的方法 www.hongkevip.com 时间: -- : 阅读: 整理: 红客VIP 分享到: 红客VIP(http://www.hongkevip.co ...
- 24、jQuery常用AJAX-API/Java调用MySQL / Oracle过程与函数
1)掌握jQuery常用AJAX-API 2)掌握Java调用MySQL / Oracle过程与函数 一)jQuery常用AJAX-API 目的:简化客户端与服务端进行局部刷新的异步通讯 (1)取 ...
- mysql 安装过程中的错误:my-template.ini could not be processed and written to XXX\my.ini.Error code-1
安装mysql的过程中,在最后配置mysql时,提示错误:Configuration file tmeplate E:\编程\MySQL\my-template.ini could not be pr ...
- Mysql加锁过程详解(8)-理解innodb的锁(record,gap,Next-Key lock)
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
随机推荐
- 282. Expression Add Operators
题目: Given a string that contains only digits 0-9 and a target value, return all possibilities to add ...
- CentOS下如何查找大文件
在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件 ...
- MYSQL语句中SELECT语句及其子句的执行顺序
SELECT语句的执行的逻辑查询处理步骤:(8)SELECT (9)DISTINCT(11)<TOP_specification> <select_list>(1)FROM & ...
- YTU 2607: A代码填空题--更换火车头
2607: A代码填空题--更换火车头 时间限制: 1 Sec 内存限制: 128 MB 提交: 91 解决: 73 题目描述 注:本题只需要提交填写部分的代码,请按照C++方式提交. 假设火车有 ...
- [Topcoder]ZigZag(dp)
题目链接:https://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493 题意:给一串数字,求出最长的波 ...
- 计算机术语install和setup的区别
作为安装程序的Setup文件是软件的开发者专门为其软件设计的.exe文件,是当前最为盛行的安装程序.在运行该Setup文件进行软件安装时,Setup除了进行复制.改名.解压和目录维护等基本安装工作外, ...
- 等额本息Vs等额本金
1:贷款种类一旦选择不能改变.2:你提前还款的全部属于本金部分,若能一次性归还本金只需付清当月月息即可[不按年利率计算而是月利率],与你归还的本金违约金[设:提前还款10万*X.XXX%=违约金,具体 ...
- linux常用头文件及说明
linux常用头文件及说明 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言,assert(表达式)<glib.h>:GCC.GTK,GNOM ...
- z-index 用法
现在来说说关于z-index的用法,刚刚在写看页面的时候遇见这样的CSS代码,z-index : 2; 当时还不知道是干嘛用的,也不知道有什么作用,上网查了资料才知道. 几个例子吧,当你在需要把页面中 ...
- 使用spring @Scheduled注解执行定时任务
以前框架使用quartz框架执行定时调度问题. 老大说这配置太麻烦.每个调度都需要多加在spring的配置中. 能不能减少配置的量从而提高开发效率. 最近看了看spring的 scheduled的使用 ...