Mysql动态嵌套游标_MySQL

Jun 01, 2016 pm 01:18 PM
動的

bitsCN.com

前提:

表一、 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;

-- 调用游标2

CALL update_ddm_demand(systemId,demandId);
drop view temporary_team_view;
end if;

end loop cursor_loop;
close rs_cursor;
END$$


DROP PROCEDURE IF EXISTS update_ddm_demand $$

CREATE PROCEDURE update_ddm_demand(systemId decimal(10,0) unsigned,demandId char(6))

BEGIN
declare temp_team_nam text;
declare order_after_teams text;
declare done int;

-- 定义游标2
DECLARE rs_cursor CURSOR FOR SELECT team_nam FROM temporary_team_view order by view_order;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
SET order_after_teams = "";
open rs_cursor;
cursor_loop:loop

FETCH rs_cursor into temp_team_nam;

if done=1 then
leave cursor_loop;
end if;

-- 更新表
SET order_after_teams = concat(order_after_teams,",",temp_team_nam);

end loop cursor_loop;

update ddm_demand set quotate_end_team = subString(order_after_teams,2) where system_id = systemId and demand_id = demandId;

close rs_cursor;
END$$

DELIMITER ;

call order_team_name;

bitsCN.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

修正: Windows 11 の動的リフレッシュ レートが機能しない 修正: Windows 11 の動的リフレッシュ レートが機能しない Apr 13, 2023 pm 08:52 PM

1 秒あたりの画像の更新回数をカウントすることで、画面のリフレッシュ レートを測定できます。 DRR は Windows 11 に含まれる新機能で、スムーズな表示を提供しながらバッテリー寿命を節約するのに役立ちますが、適切に動作しないことがあっても不思議ではありません。より多くのメーカーが 60Hz モニターの生産を中止する計画を発表するため、より高いリフレッシュ レートの画面がより一般的になることが予想されます。これにより、スクロールがスムーズになり、ゲームの質も向上しますが、その代償としてバッテリー寿命が短くなります。ただし、この OS の動的リフレッシュ レート機能は、全体的なエクスペリエンスに大きな影響を与える可能性がある気の利いた追加機能です。 Windows 11 の動的リフレッシュ レートが機能しない場合の対処法について説明しますので、読み続けてください。

iPhone画面録画でダイナミックアイランドと赤いインジケーターを非表示にする方法 iPhone画面録画でダイナミックアイランドと赤いインジケーターを非表示にする方法 Apr 13, 2023 am 09:13 AM

iPhone では、Apple の画面録画機能が画面上で行っていることのビデオを録画します。これは、ゲームプレイをキャプチャしたり、アプリのチュートリアルを誰かに説明したり、バグをデモしたりする場合に便利です。ディスプレイの上部にノッチのある古い iPhone では、画面録画ではノッチが表示されるはずですが、表示されません。ただし、「iPhone 14 Pro」や「iPhone 14 Pro」Max など、「ダイナミック アイランド」のカットアウトを備えた新しい iPhone では、「ダイナミック アイランド」のアニメーションに赤い録画インジケーターが表示され、キャプチャされたビデオにカットアウトが表示されます。これはもしかしたら

VirtualBox 固定ディスクをダイナミック ディスクに、またはその逆に変換します VirtualBox 固定ディスクをダイナミック ディスクに、またはその逆に変換します Mar 25, 2024 am 09:36 AM

仮想マシンを作成するときに、ディスクの種類を選択するように求められます。固定ディスクまたはダイナミック ディスクを選択できます。固定ディスクを選択した後でダイナミック ディスクが必要であることに気付いた場合、またはその逆の場合はどうすればよいでしょうか? いいですね!一方をもう一方に変換できます。この記事では、VirtualBox 固定ディスクをダイナミック ディスクに、またはその逆に変換する方法を説明します。ダイナミック ディスクは、最初は小さいサイズですが、仮想マシンにデータを保存するにつれてサイズが大きくなる仮想ハード ディスクです。ダイナミック ディスクは、必要なだけのホスト ストレージ スペースのみを使用するため、ストレージ スペースを節約するのに非常に効率的です。ただし、ディスク容量が増加すると、コンピュータのパフォーマンスがわずかに影響を受ける可能性があります。仮想マシンでは固定ディスクとダイナミック ディスクが一般的に使用されます

Windows 11でダイナミックディスクをベーシックディスクに変換する方法 Windows 11でダイナミックディスクをベーシックディスクに変換する方法 Sep 23, 2023 pm 11:33 PM

Windows 11 でダイナミック ディスクをベーシック ディスクに変換する場合は、プロセスによってその中のすべてのデータが消去されるため、最初にバックアップを作成する必要があります。 Windows 11 でダイナミック ディスクをベーシック ディスクに変換する必要があるのはなぜですか? Microsoft によると、ダイナミック ディスクは Windows から廃止され、その使用は推奨されなくなりました。さらに、Windows Home Edition はダイナミック ディスクをサポートしていないため、これらの論理ドライブにアクセスできません。より多くのディスクを結合してより大きなボリュームを作成する場合は、ベーシック ディスクまたは記憶域スペースを使用することをお勧めします。この記事では、Windows 11 でダイナミック ディスクをベーシック ディスクに変換する方法を説明します。 Windows 11 でダイナミック ディスクをベーシック ディスクに変換するにはどうすればよいですか?初めに

Windows 11のデスクトップとスタートメニューにライブタイルを表示する方法 Windows 11のデスクトップとスタートメニューにライブタイルを表示する方法 Apr 14, 2023 pm 05:07 PM

システム上で何かを探しているが、どのアプリケーションを開いて選択すればよいかわからないと想像してください。ここでライブ タイル機能が役に立ちます。サポートされているアプリケーションのライブ タイルをデスクトップまたは Windows システムの [スタート] メニューに追加でき、そのタイルは頻繁に変更されます。 LiveTiles は、アプリケーション ウィジェットを非常に快適な方法で生き生きとさせます。見た目だけでなく、利便性にも優れています。システムで whatsapp または Facebook アプリケーションを使用しているとします。通知の数がアプリケーションのアイコンに表示されたら便利だと思いませんか?これは、サポートされているアプリがライブ タイルとして追加されている場合に可能です。 Windows でそれを行う方法を見てみましょう

Windows 10 および 11 でのフォルダーとファイルの動的表示を無効にして、クイック アクセスを防止するにはどうすればよいですか? Windows 10 および 11 でのフォルダーとファイルの動的表示を無効にして、クイック アクセスを防止するにはどうすればよいですか? May 06, 2023 pm 04:58 PM

Microsoft は Windows 10 でクイック アクセスを導入し、最近リリースされた Windows 11 オペレーティング システムでもその機能を維持しました。クイック アクセスは、ファイル エクスプローラーのお気に入りシステムを置き換えます。 2 つの機能の主な違いの 1 つは、クイック アクセスがリストに動的コンポーネントを追加することです。永続的に表示されるフォルダーもあれば、使用状況に基づいて表示されるフォルダーもあります。固定フォルダーにはピン アイコンが表示されますが、動的フォルダーにはそのようなアイコンがありません。詳細については、ここで「お気に入り」と「クイック アクセス」の比較をご覧ください。クイック アクセスはお気に入りよりも強力ですが、動的なフォルダー リストにより乱雑な要素が追加されます。役に立たないファイル、またはエクスプローラーで強調表示すべきでないファイルが表示される場合がある

Windows 11で動的ロックを使用する方法 Windows 11で動的ロックを使用する方法 Apr 13, 2023 pm 08:31 PM

Windows 11 の動的ロックとは何ですか?ダイナミック ロックは、接続されている Bluetooth デバイス (携帯電話またはウェアラブル) が通信範囲外になったときにコンピューターをロックする Windows 11 の機能です。ダイナミック ロック機能は、立ち去るときに Windows キー + L ショートカットを使用するのを忘れた場合でも、PC を自動的にロックします。ダイナミック ロックは、Bluetooth を備えたあらゆる接続デバイスで動作しますが、携帯電話など、十分なバッテリー電力と通信範囲を備えたデバイスを使用するのが最善です。デバイスが 30 秒間アクセスできなくなると、Windows は自動的に画面をロックします。 Bluetooth デバイスを Windows 11 とペアリングする すべてが正しく動作するには、まず次のことを行う必要があります。

HTML、CSS、jQuery を使用して動的な画像カルーセルを作成する方法 HTML、CSS、jQuery を使用して動的な画像カルーセルを作成する方法 Oct 25, 2023 am 10:09 AM

HTML、CSS、jQuery を使用して動的な画像カルーセルを作成する方法 Web サイトのデザインや開発において、画像カルーセルは複数の画像や広告バナーを表示するために頻繁に使用される機能です。 HTML、CSS、jQuery を組み合わせることで、動的な画像カルーセル効果を実現し、Web サイトに活気と魅力を加えることができます。この記事では、HTML、CSS、jQuery を使用して簡単な動的画像カルーセルを作成する方法と、具体的なコード例を紹介します。ステップ 1: HTML ジャンクションを設定する

See all articles