当前位置: 首页 > wzjs >正文

对于职业规划做的好的网站无锡做网站公司多少钱

对于职业规划做的好的网站,无锡做网站公司多少钱,简单的设计软件,锦州网站建设资讯一、游标的作用 ​​逐行处理数据​​:当需要对查询结果集中的每一行进行特定操作(如计算、条件判断、调用其他过程)时使用。​​替代集合操作​​:在无法通过单一 SQL 语句完成复杂逻辑时,游标提供逐行处理的能力。​…

一、游标的作用

  • ​逐行处理数据​​:当需要对查询结果集中的每一行进行特定操作(如计算、条件判断、调用其他过程)时使用。
  • ​替代集合操作​​:在无法通过单一 SQL 语句完成复杂逻辑时,游标提供逐行处理的能力。
  • ​典型场景​​:数据迁移、报表生成、逐行校验等。

二、游标的使用步骤

游标使用遵循 ​​5个固定步骤​​,必须按顺序编写:

  1. ​声明游标​
    定义游标名称和对应的查询语句:

    DECLARE cursor_name CURSOR FOR SELECT_statement;
  2. ​声明错误处理器​
    处理游标遍历结束时的 NOT FOUND 状态,避免死循环:

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  3. ​打开游标​
    执行查询语句,生成结果集:

    OPEN cursor_name;
  4. ​循环获取数据​
    逐行读取数据并进行处理:

    FETCH cursor_name INTO variables;
  5. ​关闭游标​
    释放资源:

    CLOSE cursor_name;

三、完整示例

示例1:计算员工平均工资
DELIMITER //CREATE PROCEDURE calculate_avg_salary()
BEGINDECLARE emp_salary DECIMAL(10,2);DECLARE total DECIMAL(10,2) DEFAULT 0;DECLARE count INT DEFAULT 0;DECLARE done INT DEFAULT 0;-- 1. 声明游标DECLARE cur CURSOR FOR SELECT salary FROM employees;-- 2. 错误处理器DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;-- 3. 打开游标OPEN cur;-- 4. 循环读取read_loop: LOOPFETCH cur INTO emp_salary;IF done = 1 THENLEAVE read_loop;END IF;SET total = total + emp_salary;SET count = count + 1;END LOOP;-- 5. 关闭游标CLOSE cur;-- 输出结果SELECT total / count AS avg_salary;
END //DELIMITER ;-- 调用存储过程
CALL calculate_avg_salary();
示例2:处理订单状态
CREATE PROCEDURE update_order_status()
BEGINDECLARE order_id INT;DECLARE order_status VARCHAR(20);DECLARE done INT DEFAULT 0;DECLARE cur CURSOR FOR SELECT id, status FROM orders WHERE created_at < NOW() - INTERVAL 30 DAY;DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;OPEN cur;loop_start: LOOPFETCH cur INTO order_id, order_status;IF done THENLEAVE loop_start;END IF;IF order_status = 'PENDING' THENUPDATE orders SET status = 'EXPIRED' WHERE id = order_id;END IF;END LOOP;CLOSE cur;
END;

四、注意事项

  1. ​性能问题​
    游标逐行操作会 ​​增加数据库负载​​,数据量大时效率低下,优先考虑集合操作(如 UPDATEJOIN)。

  2. ​作用域限制​
    游标必须在存储过程或函数的 ​​BEGIN-END块​​ 中声明,且所有 DECLARE 需放在其他语句之前。

  3. ​只读性​
    MySQL 游标默认是 ​​只读​​ 的,无法通过游标直接修改数据(需配合 UPDATE 语句)。

  4. ​错误处理​
    必须通过 CONTINUE HANDLER 处理 NOT FOUND 状态,否则可能陷入死循环。

  5. ​资源释放​
    游标使用后必须用 CLOSE 释放,否则可能导致内存泄漏。

  6. ​事务控制​
    在事务中使用游标时,注意 COMMIT 或 ROLLBACK 可能影响游标状态。


文章转载自:

http://zyma4HYM.sLmbg.cn
http://k5UWJixN.sLmbg.cn
http://rRf2SD9W.sLmbg.cn
http://FCjkemUR.sLmbg.cn
http://7bePuj9h.sLmbg.cn
http://GgIlAS1F.sLmbg.cn
http://1g9w7WCf.sLmbg.cn
http://YoFRC8vo.sLmbg.cn
http://YK1s1NMu.sLmbg.cn
http://NrfksR83.sLmbg.cn
http://uhIRuSSK.sLmbg.cn
http://u7S9lsYG.sLmbg.cn
http://xlOFLXk5.sLmbg.cn
http://T4xFOzVC.sLmbg.cn
http://o2lyi5FX.sLmbg.cn
http://e8NI1lr8.sLmbg.cn
http://LUtl6paX.sLmbg.cn
http://YaSWiA6C.sLmbg.cn
http://w6FPQBsy.sLmbg.cn
http://tyv1eNFL.sLmbg.cn
http://UHFS9M1W.sLmbg.cn
http://3VmJJNFi.sLmbg.cn
http://aYHwtaNg.sLmbg.cn
http://hEZwaPuH.sLmbg.cn
http://wTRSYWmc.sLmbg.cn
http://Y7Bg94EL.sLmbg.cn
http://m0OGFMfL.sLmbg.cn
http://Y8rYQPT2.sLmbg.cn
http://5gINzDXM.sLmbg.cn
http://6wyAZwZX.sLmbg.cn
http://www.dtcms.com/wzjs/718327.html

相关文章:

  • 本地网站做通用会员卡广州开发app哪家公司好
  • 西安网站建设软件公司起名打分最准的免费网站
  • 承德网站开发公司怎么制做网站
  • 网站写好了怎么做后台管理住房和城乡建设部网站公告
  • 被网上教开网店的骗了怎么办烟台网站排名优化公司
  • 钓鱼网站怎么制作视频html代码自动生成器
  • 最好的网站开发wordpress now
  • 免费跨境电商网站百度推广必须做手机网站吗
  • 优客工场 网站开发新旧网站对比
  • 宁波网站优化公司微信显示wordpress文章
  • 东莞网站建设地点优化河南生产型企业网站建设
  • 酒店用品网站源码深圳电商网站建设公司
  • 做外贸应该去什么网站wordpress vtrois
  • 廊坊网站开发公司怎样做网站推广
  • 网站标题栏怎么做vr软件开发需要学什么
  • 网站建设要多少钱品牌wordpress 登录流程
  • 做问答营销的网站有哪些国产 wordpress 框架
  • 营销型网站手机端enfold wordpress
  • 建设微信网站需要服务器做个商城小程序需要多少钱
  • 电商网站设计网站 建设 汇报
  • 说明电子商务网站的建设流程vr功能网站建设
  • 建设银行安徽 招聘网站网页设计代码和效果图
  • 做APP好还是建设网站好建设部一建查询网站
  • 网站开发和大数据开发区别网站建设费能不能认定为广告费
  • 做彩票网站模板注册安全工程师报名时间
  • 光谷软件园 网站建设常见的网站类型有
  • wordpress 商城站下载地址wordpress dux主题设置
  • 佛山外贸网站设计赣州做网站找谁
  • 移动网站设计wordpress带数据
  • asp.netmvc 做网站秦皇岛市教育局官网