我有一個視圖,我希望它的內部選擇部分是SELECT 12345
在我的情況。從sp_helptext提供的視圖創建腳本獲取內部選擇部分的最佳方式是什麼?
我的看法是象下面這樣:
CREATE VIEW myView
AS
SELECT 12345
如果我使用sp_helptext,它返回我的所有腳本,包括CREATE VIEW ...
我怎樣才能得到它的只有內選擇部分?
使用正則表達式?如果是這樣,怎麼樣?如果不是,你會建議我做什麼?
在此先感謝
我有一個視圖,我希望它的內部選擇部分是SELECT 12345
在我的情況。從sp_helptext提供的視圖創建腳本獲取內部選擇部分的最佳方式是什麼?
我的看法是象下面這樣:
CREATE VIEW myView
AS
SELECT 12345
如果我使用sp_helptext,它返回我的所有腳本,包括CREATE VIEW ...
我怎樣才能得到它的只有內選擇部分?
使用正則表達式?如果是這樣,怎麼樣?如果不是,你會建議我做什麼?
在此先感謝
這可能幫助:
USE myDB
GO
SELECT SUBSTRING(definition,(CHARINDEX('AS',definition)+2),LEN(definition)) FROM sys.sql_modules WHERE object_id = OBJECT_ID('myView')
視圖名稱本身可以包含'AS'字符,所以這聽起來不是一個好主意:S –
是的,的確如此。不能被視爲通用解決方案。感謝您指出了這一點。 –
爲什麼你需要一個查詢來檢索此?希望你不會編寫需要定期剖析視圖的代碼。 –
我將在像INNER JOIN(SELECT 12345)這樣的連接語句中使用它。它不能像INNER JOIN myView一樣使用。因爲我的視圖腳本很複雜,並且包含一些我想要替換爲{0}的文本。我需要查看腳本,替換值並在聯合的最終查詢中使用它。 –
聽起來像你,只需要編寫你的新查詢,而不是試圖加入視圖定義與替換陳述等。這聽起來像是一個非常脆弱的實現。 –