查看: 150|回复: 0

MySql 存储过程例子

[复制链接]

1

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2023-3-11 21:37:27 | 显示全部楼层 |阅读模式
DROP PROCEDURE IF EXISTS student_procedure;
CREATE PROCEDURE student_procedure()
BEGIN
        //声明变量
        DECLARE name VARCHAR(64);
        DECLARE sex VARCHAR(32);
        DECLARE phone VARCHAR(32);
        DECLARE cert VARCHAR(32);
        DECLARE birth VARCHAR(32);
        DECLARE studentCode VARCHAR(32);
        DECLARE schoolId VARCHAR(32);
        DECLARE gradeId VARCHAR(32);
        DECLARE classNum VARCHAR(32);
        DECLARE s int DEFAULT 0;
        //查询结果放到实体
        DECLARE students CURSOR FOR select name,sex,phone,cert,birth,student_code,school_id,grade_id,class_num from yk_student where del_flag='0' and is_up = '0';
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
        OPEN students;
                //实体的值赋值给变量
                FETCH students INTO name,sex,phone,cert,birth,nation,place,studentCode,schoolId,gradeId,classNum,sysOrgCode;
                //循环实体操作数据
                WHILE s <> 1 DO
                        IF cert IS NOT NULL AND cert <> '' THEN
                                //执行要操作的逻辑
                        ELSEIF name IS NOT NULL AND name <> '' AND phone IS NOT NULL AND phone <> '' THEN
                                //执行要操作的逻辑
                        END IF;
                FETCH students INTO name,sex,phone,cert,birth,studentCode,schoolId,gradeId,classNum;
                END WHILE;
        CLOSE students;
END
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表