2015-07-11 24 views
1

我經常需要在過程中創建表變量,以存儲視圖中前25行進行處理。是否有任何快捷方式創建表變量以匹配視圖中的列?

我需要暫時將這些小批量存儲在變量中,因爲我正在執行許多操作,這些操作會修改基礎表中的數據,其中一些操作會導致行不再出現在基於視圖的視圖內標準(這是設計)。

我需要爲整個處理會話保留數據,我不能依賴視圖本身來保持操作一致。

問題是,由於我們在多個數據庫的許多實例中都這樣做,如果我們在任何視圖中對列進行了任何更改,代碼就會變得有些容易出錯,因爲我們還必須確保修改相關的表格類型 - 不要犯任何錯誤或錯誤,或忽略任何東西。

所以我的問題是,只需聲明「匹配當前列在這個視圖?」,我們可以只聲明表變量(或表類型,如有必要)?

這會讓事情變得更容易,因爲它會自動保持所有相關表變量與所討論的視圖的當前佈局同步,並消除試圖手動保持全部直線的頭痛。

如果沒有這樣的快捷方式存在,那麼我想我們只需要根據需要創建與我們的視圖匹配的自定義表類型,以便至少保持它儘可能集中。

回答

1

如果類型變量的使用可以通過Temporary Table像被替換:

SELECT * INTO #TempTable FROM myView 

完全會做的工作。

使用SELECT INTO,將在您選擇語句中使用colomn和元數據創建表。

希望這會有所幫助。

相關問題