0

以下は抽象化です。クエリははるかに複雑です。原理はまったく同じ。

次のようなストアド プロシージャがあります。

SELECT * FROM T1
WHERE T1.fk IN (SELECT id FROM T2);

実際には、このインライン クエリは非常に複雑で、他の多くのストアド プロシージャで使用されています。コードを 1 か所だけに維持したいと考えています。現在、最悪のシナリオは、この内部クエリが約 22K レコードを返すことです。

この内部クエリを 1 か所だけに配置するにはどうすればよいですか (関数として、インクルード、マクロなど...)

この場合、効率は重要ではありません。保守性レスコードです。

4

1 に答える 1

4

ビュー? _

CREATE VIEW MyQuery AS
 SELECT * FROM T1
 WHERE T1.fk IN (SELECT id FROM T2);  
于 2012-05-21T13:59:22.340 に答える