2016-08-04 49 views
0

我有一個視圖,我希望它的內部選擇部分是SELECT 12345在我的情況。從sp_helptext提供的視圖創建腳本獲取內部選擇部分的最佳方式是什麼?

我的看法是象下面這樣:

CREATE VIEW myView 
AS 
SELECT 12345 

如果我使用sp_helptext,它返回我的所有腳本,包括CREATE VIEW ...

我怎樣才能得到它的只有內選擇部分?

使用正則表達式?如果是這樣,怎麼樣?如果不是,你會建議我做什麼?

在此先感謝

+1

爲什麼你需要一個查詢來檢索此?希望你不會編寫需要定期剖析視圖的代碼。 –

+0

我將在像INNER JOIN(SELECT 12345)這樣的連接語句中使用它。它不能像INNER JOIN myView一樣使用。因爲我的視圖腳本很複雜,並且包含一些我想要替換爲{0}的文本。我需要查看腳本,替換值並在聯合的最終查詢中使用它。 –

+0

聽起來像你,只需要編寫你的新查詢,而不是試圖加入視圖定義與替換陳述等。這聽起來像是一個非常脆弱的實現。 –

回答

0

這可能幫助:

USE myDB 
GO 

SELECT SUBSTRING(definition,(CHARINDEX('AS',definition)+2),LEN(definition)) FROM sys.sql_modules WHERE object_id = OBJECT_ID('myView') 
+0

視圖名稱本身可以包含'AS'字符,所以這聽起來不是一個好主意:S –

+0

是的,的確如此。不能被視爲通用解決方案。感謝您指出了這一點。 –

相關問題