下面是抽象的。查询要复杂得多。原理完全一样。
我有一个存储过程:
SELECT * FROM T1
WHERE T1.fk IN (SELECT id FROM T2);
实际上,这种内联查询非常复杂,并且正在许多其他存储过程中使用。我希望只在一个地方维护它的代码。现在,最坏的情况是这个内部查询返回大约 22K 条记录。
如何将此内部查询仅放在一个位置(作为函数,例如包含,宏等...)
在这种情况下,效率并不重要。可维护性更少的代码,是。
下面是抽象的。查询要复杂得多。原理完全一样。
我有一个存储过程:
SELECT * FROM T1
WHERE T1.fk IN (SELECT id FROM T2);
实际上,这种内联查询非常复杂,并且正在许多其他存储过程中使用。我希望只在一个地方维护它的代码。现在,最坏的情况是这个内部查询返回大约 22K 条记录。
如何将此内部查询仅放在一个位置(作为函数,例如包含,宏等...)
在这种情况下,效率并不重要。可维护性更少的代码,是。
一个视图?
CREATE VIEW MyQuery AS
SELECT * FROM T1
WHERE T1.fk IN (SELECT id FROM T2);