mysqlはストアドプロシージャを使用してツリーノード取得メソッドを実装します。

mysqlはストアドプロシージャを使用してツリーノード取得メソッドを実装します。

図に示すように:

テーブルデータ

このようなツリーの場合、「Gao Yinrui」の下のすべてのノードを取得する方法(1つのSQL文では明らかに不十分です)

ストアドプロシージャ経由で書き込み

区切り文字 //
関数 `getChildLst`(rootId INT) を作成します。
 
varchar(1000) を返す SQL データを読み込む
 
始める
 sTemp VARCHAR(1000) を宣言します。
 
 sTempChd VARCHAR(1000) を宣言します。
 
 sTemp = '$' を設定します。
 
 SET sTempChd =cast(rootId を CHAR として)。
 
 sTempChdがnullではない場合
 
 SET sTemp = concat(sTemp,',',sTempChd);
 
 SELECT group_concat(id) INTO sTempChd FROM document_file_name where FIND_IN_SET(pId,sTempChd)>0;
 
 終了しながら;
 
 sTemp を返します。
 
終わり //

上記のストアドプロシージャを作成する

document_file_name から * を選択し、 find_in_set(id, getChildLst(1)); 

要約する

これで、MySQL のストアド プロシージャを使用してツリー ノードを取得する方法についての説明は終わりです。MySQL ストアド プロシージャでツリー ノードを取得する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MYSQL ストアドプロシージャと関数の簡単な記述
  • MySQLデータストレージプロセスパラメータの詳細な例
  • MySQL で戻り値ありと戻り値なしのストアド プロシージャを書く 2 つの方法
  • MySQL ストアド プロシージャ、カーソル、トランザクションの例の詳細な説明
  • MySQL でストアド プロシージャを作成し、ループでレコードを追加する方法
  • MySql ストアド プロシージャ パラメータの初歩的な使用法の詳細な説明

<<:  Nginx ポート競合を解決するトラブルシューティング方法の例

>>:  クールな花火効果を実現するjs

推薦する

インデックスを使用して数千万のデータを持つ MySQL のクエリ速度を最適化する

1. インデックスの役割一般的に言えば、インデックスは本の目次に相当します。条件に基づいてクエリを実...

フレックスレイアウトが子要素によって引き伸ばされたときに、コンテンツをコンテナ内に保持する方法

モバイル デバイスでは、フレックス レイアウトが非常に便利です。デバイスの幅に応じてコンテナーの幅を...

JavaScript 関数の高度な説明

目次関数定義方法関数呼び出し(6種類)これは問題を指摘している厳密モード高階関数閉鎖再帰: 自分自身...

MySql 5.6.35 winx64 インストール詳細チュートリアル

注: データベースのバージョンの問題により、プロジェクトの起動時にエラーは発生しませんでしたが、デー...

Dockerイメージの圧縮と最適化操作

Docker が今日非常に人気がある理由は、主にその軽量性、迅速な展開、およびリソースの利用にありま...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...

固定ボトムコンポーネントを実装した Vue の例

目次【効果】 【実施方法】 【効果】 【実施方法】 <テンプレート> <div i...

getdata テーブル テーブル データ 結合 mysql メソッド

パブリック関数 json_product_list($where, $order){ グローバル ...

startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明

Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...

Node.jsで子プロセスを作成する方法

目次導入子プロセスプロセスを非同期的に作成する同期作成プロセス導入Node.js のメイン イベント...

ウェブページのメモリとCPU使用量を削減する方法

<br />Web ページによっては、サイズは大きくないように見えても開くのに非常に時間...

Dockerの急速な拡張の高度な方法

1. コマンド方式作成された Swarm クラスターで nginx サービスを実行し、--repli...

nginxフロー制御とアクセス制御の実装

nginx トラフィック制御レート制限は非常に便利ですが、Nginx では誤解され、誤って設定される...

プロフェッショナルおよび非プロフェッショナルのウェブデザイン

まず、Web ページのスタイルの形成は、主に Web ページのレイアウト設計、ページの色処理、画像と...

Redo ログと Undo ログに基づく MySQL クラッシュ回復の分析

目次MySQLクラッシュ回復プロセス1. ブラックボックス下のデータフローを更新する2. やり直しロ...