csysky

DROP PROCEDURE IF EXISTS proc_tmp;
CREATE PROCEDURE proc_tmp()

BEGIN

/*用于判断是否结束循环*/
DECLARE done INT DEFAULT 0;
/*用于存储结果集记录*/
DECLARE _om_id INT ( 11 );

/*定义游标*/
DECLARE idCur CURSOR FOR
SELECT DISTINCT om_id FROM tt_order_attr_mapping WHERE om_id NOT IN ( SELECT DISTINCT om_id FROM tt_order_attr_mapping WHERE s_attr = \'IS_UNDER_CALL\' );
/*定义 设置循环结束标识done值怎么改变 的逻辑*/
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
/*打开游标*/
OPEN idCur;
/* 循环开始 */
REPEAT
FETCH idCur INTO _om_id;
IF NOT done THEN
/*数值为非0,MySQL认为是true*/
INSERT INTO tt_order_attr_mapping ( `om_id`, `s_attr`, `d_attr`, `defaultvalue`, `update_userid`, `update_time` ) VALUES ( _om_id, \'IS_UNDER_CALL\', NULL, \'0\', NULL, NULL );
END IF;
UNTIL done END REPEAT;
/*关闭游标*/
CLOSE idCur;

END;
/* 循环结束 */
CALL proc_tmp();
/*删除临时存储过程*/
DROP PROCEDURE proc_tmp;

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-06
  • 2022-12-23
  • 2021-11-29
  • 2021-12-08
  • 2022-02-05
猜你喜欢
  • 2022-01-16
  • 2021-11-29
  • 2022-12-23
  • 2021-05-25
  • 2022-12-23
  • 2022-01-02
  • 2022-01-02
相关资源
相似解决方案