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

推薦する

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

CSS 境界線の半分または部分的に表示される実装コード

1. 疑似クラスを使用して境界線の半分を表示する <!DOCTYPE html> <...

HTTP ヘッダー情報の解釈と分析 (詳細概要)

HTTP ヘッダーの説明1. Accept: Web サーバーに受け入れるメディア タイプを通知しま...

Ansibleを使用してディレクトリ内のすべてのコンテンツを削除する方法

Ansible を使用する学生は、以下に示すように、Ansible が特定のフォルダーまたはファイル...

Node.jsはブレークポイント再開を実装する

目次ソリューション分析スライス履歴書のダウンロード具体的な解決プロセス論理的分析フロントエンドサーバ...

データベースクエリの最適化: サブクエリの最適化

1. 事例会社のトップ以外の従業員全員を年齢別にグループ化します。 t_emp で id が存在しな...

ReactHooks バッチ更新状態とルートパラメータの取得例の分析

目次1. 一括更新の方法コンソール出力2. フックがルーティングパラメータを取得する方法実行効果1....

CentOS7.4 に MySQL 5.7.26 をインストールするための詳細なチュートリアル

CentOS にはデフォルトで MariaDB がインストールされていますが、これは MySQL の...

sysbenchツールによるMySQLデータベースのパフォーマンステストの実装方法

1. 背景Sysbench は、システムのハードウェア パフォーマンスをテストできるストレス テスト...

6つのレイアウトでのFrameLayoutの使用

序文前回はLinearLayoutについて説明しました。今回はFrameLayoutの使い方を説明し...

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...

CentOS 7 でソースコードから Openssh をインストールする方法

環境: CentOS 7.1.1503 最小インストール依存パッケージをダウンロードします: yum...

Windows Server 2016 に MySQL 5.7.19 の解凍バージョンをインストールするための詳細なチュートリアル

MySQL 5.7.19 winx64 解凍版のインストールチュートリアルを収録しています。具体的な...

Linux カーネル デバイス ドライバー 高度な文字デバイス ドライバーのメモ

/****************** * 高度な文字デバイス ドライバー ***********...

Docker Compose のサイドカーモードの詳細な説明

目次Docker Composeとは要件に不適切な言語が使用されている実装Docker Compos...