mysql动态标签可以嵌套吗_Mysql动态嵌套游标

该文介绍了如何根据表二的view_order字段,通过SQL语句重新排序表一ddm_demand中的quotate_end_team字段。首先声明变量和游标,然后通过循环遍历ddm_demand表,构造并执行SQL语句创建临时视图,以实现团队名称的排序。
摘要由CSDN通过智能技术生成

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 前提: 表一、 ddm_demand system_id demand_id quotate_end_team 1 1 team1,team5,team2 1 2 tea3,team1,team,4 pk:quotate_end_team、demand_id; 表二、 mc_team team_nam view_order team1 1 team

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

前提:

表一、 ddm_demand

system_id demand_id quotate_end_team

1 1 team1,team5,team2

1 2 tea3,team1,team,4

pk:quotate_end_team、demand_id;

表二、 mc_team

team_nam view_order

team1 1

team2 2

解决问题:

将表一中的quotate_end_team字段按照表二的view_order重新排序。

方法:

DELIMITER $$

DROP PROCEDURE IF EXISTS order_team_name $$

CREATE PROCEDURE order_team_name()

BEGIN

declare order_before_teams text ;

declare temp_team_nam text;

declare systemId decimal(10,0) unsigned;

declare demandId char(6);

declare done int;

-- 定义游标1

DECLARE rs_cursor CURSOR FOR SELECT system_id,demand_id,quotate_end_team FROM ddm_demand;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

open rs_cursor;

cursor_loop:loop

FETCH rs_cursor into systemId,demandId,order_before_teams;

if done=1 then

leave cursor_loop;

end if;

if order_before_teams is not null and order_before_teams <> '' then

SET @sqlstr = concat("where team_nam in ('",replace(order_before_teams,",","','"),"');");

SET @sqlstr = concat("CREATE VIEW temporary_team_view as SELECT team_nam,view_order FROM mc_team ",@sqlstr);

-- DROP VIEW IF EXISTS temporary_team_view;

PREPARE stmt FROM @sqlstr;

EXECUTE stmt;

[1] [2]

test.jsp?url=http%3A%2F%2Fwww.chinaitlab.com%2Fcms%2Fimages%2Flogo14.gif&refer=http%3A%2F%2FLinux.chinaitlab.com%2FMYSQL%2F953360.html

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值