2015-10-22 182 views
1

我現在正在研究SQL Server 2012中非常長的一個視圖(大約有800列)。我們允許用戶向表中添加自定義列(一個單獨的UI,允許用戶指定列名,類型和最大長度)。一旦列添加到表中,它也必須反映在視圖中。有沒有辦法自動完成這個?現在,我需要用現有的800多列和新添加的列創建一個alter view語句。另外,sp_refreshview可以用於這個目的嗎?尋找一些答案。提前致謝。將列添加到視圖

+1

如果你有一個800列的視圖,你已經有一些邪惡的東西! – DavidG

+0

嗯......我同意。但它一直如此。現在我無法改變它。請讓我知道是否有其他方法來實現這一點。 – RNat

+0

你真的需要一個觀點嗎?否則,您可以在應用程序(前端)中構建一個SELECT命令並直接執行它。 –

回答

0

如果您手動設置要查看的列(我的意思是SELECT column1, column2 FROM),那麼自動更新可能是不可能的。 如果SELECT *鑑於(糟糕的做法)時,有一個solution

exec sp_refreshview [dbo.v_customer] 

而且其更常見的形式here(更新所有的觀點)。

+0

謝謝IIya ..視圖是用來自許多表格的連接創建的。所以我明白sp_refreshview或sp_refreshsql不會幫助。 – RNat