以下は抽象化です。クエリははるかに複雑です。原理はまったく同じ。
次のようなストアド プロシージャがあります。
SELECT * FROM T1
WHERE T1.fk IN (SELECT id FROM T2);
実際には、このインライン クエリは非常に複雑で、他の多くのストアド プロシージャで使用されています。コードを 1 か所だけに維持したいと考えています。現在、最悪のシナリオは、この内部クエリが約 22K レコードを返すことです。
この内部クエリを 1 か所だけに配置するにはどうすればよいですか (関数として、インクルード、マクロなど...)
この場合、効率は重要ではありません。保守性レスコードです。