SQLite の再帰クエリ機能
初期の制限にもかかわらず、SQLite は Common Table Expressions (CTE) の導入により堅牢な再帰クエリ サポートを提供するようになりました。バージョン 3.8.3 以降。この機能強化により、階層構造を横断する強力な再帰クエリを作成できるようになります。
再帰 CTE の実装:
WITH 句を使用すると、次のように再帰 CTE を定義できます。
WITH RECURSIVE CTE_Name AS ( SELECT ... UNION ALL SELECT ... ) SELECT ... FROM CTE_Name
この構文では次のことが可能です従来の SQL 再帰と同様に、反復的に展開する再帰クエリを定義します。
3.8.3 以前の再帰クエリ エミュレーション:
バージョン 3.8.3 より前の SQLite再帰的 CTE をネイティブにサポートしていませんでした。再帰をエミュレートするには、次のような手続き型アプローチに頼る必要がありました。
最初の行とサブパート ID を取得します:
サブパート データの反復取得:
反復の継続:
以上がSQLite は、特にバージョン 3.8.3 の前後で再帰クエリをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。