2012-05-21 58 views
0

以下是抽象。查詢要複雜得多。原理完全一樣。通過SP內部查詢重複使用代碼

我有一個存儲過程,做:

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

在現實中,這個在線查詢是非常複雜的,而且在許多其他的存儲過程正在使用。我希望只在一個地方維護它的代碼。 現在,最壞的情況是,這個內部查詢返回大約22K條記錄。

我如何把這個內部查詢只在一個地方(如函數,像包括微距等)

效率是不是在這種情況下非常重要。可維護性較少的代碼是。

回答

4

a View

CREATE VIEW MyQuery AS 
SELECT * FROM T1 
WHERE T1.fk IN (SELECT id FROM T2); 
+0

我需要重用只有內部查詢 –

+0

把內部查詢視圖中,看不到太多反正收穫,如果就這麼簡單 – BlackTigerX

+0

它不是簡單的,我只是做了簡單的的緣故更清晰的問題。生病看看它是如何與視圖 –