2018-10-20 存储过程

2018-10-20 存储过程_第1张图片
delimeter 是限定设置  后面的两个¥¥ 是让他们当成整体来执行


2018-10-20 存储过程_第2张图片

DELIMITER $$

DROP PROCEDURE IF EXISTS prc_init_student_lcx$$

CREATE  PROCEDURE prc_init_student_lcx()

BEGIN

    SELECT '日志跟踪:';

END$$

DELIMITER ;



2018-10-20 存储过程_第3张图片


2018-10-20 存储过程_第4张图片


2018-10-20 存储过程_第5张图片
也可以直接运行

sql的if 判断


2018-10-20 存储过程_第6张图片

where 循环


2018-10-20 存储过程_第7张图片

游标

-- 1. 删除存储过程

-- 2. 新建存储过程

-- 3. 创建待处理记录游标

-- 定义日志变量

-- 定义遍历数据结束标志

-- 定义一个公共的计数变量

-- 定义游标一行的变量

-- 定义游标

-- 定义条件处理函数,当找不到记录的时候,执行set done=true,set是变量赋值

-- 日志:定义变量结束

-- 4. 更新待处理记录

-- 日志:更新记录成功+条数

-- 5. 循环游标

-- 1) 打开

-- 日志:游标打开成功

--1)取出游标第一条数据

-- 6. 把while循环体打包

-- 取一条游标记录

-- 定义存储变量

-- 将记录存到变量

-- 7. 判断客户信息是否存在

-- 定义变量

-- sql统计条数并存入变量中

-- 日志:课程统计结果+条数

-- 根据变量值使用if分支判断是否存在

--不存在

-- 日志:enroll_id客户不存在

-- 新增客户资料

--日志:新增客户资料成功+enroll_id

-- 更新报名报customer_id

-- 报名表更新成功:customer_id

--存在不做任何操作,并添加日志

--日志:v_customer_id客户已存在

-- 8.更新报名表状态SQL

-- 日志更新报名表成功:v_customer_id

-- 9.commit提交

-- 日志:事物提交成功

-- 10.取出下一条


2018-10-20 存储过程_第8张图片

你可能感兴趣的:(2018-10-20 存储过程)