2012-04-09 57 views
0

問題是標題本身。我被要求在SQL Server中使用計算列。但是當我在Google上搜索它時,發現它主要用於顯示多個顏色的組合值。如果將其視爲永久性顏色,則可能會降低性能。所以我想知道計算列 - 需要介紹

  1. 優點和缺點
  2. 何時何地,我們都需要實現這個

請指導我如何能實現以下問題的解決方案,如果可能的話(與計算如果不可能,爲什麼?)。或者以其他任何方式來實現這個要求。 我的要求是使用一個colomn來識別哪張表更新了該表。 因此,我可以比較這些值並確定更改。

編輯:下面的表結構。

table structure 
ColA int ID (PK) - autonumber. 
ColB Nvarchar 
ColC Nvarchar 
ColD Int 
ColE Int 
ColF Nvarchar 

-- Updatation can happen any one the coloumns other than ColA 

在此先感謝

+0

標題中的問題與您的文本中的問題不同。似乎你實際上並不需要計算列的利弊列表,但是詢問它是否適合你的具體情況? (答案:這是不可能的順便說一句,你需要一個觸發器,除非我不明白你正在試圖做什麼) – 2012-04-09 11:38:30

+0

@MartinSmith請看我更新的問題 – kbvishnu 2012-04-09 11:48:08

+0

你可以使用一個複合大小寫表達式(每個表達式一個表達式)來計算表示列更改的位掩碼。如果你發佈了你正在使用的表的代碼示例,我們可以給你一個更具體的答案。 – 2012-04-09 12:00:19

回答

0

這聽起來像是你需要的觸發器,而不是計算列。你的最後一句話說明你想「比較價值並確定變化」。你最終的目標是什麼?您是否試圖堅持這些信息,以便將來的數據讀者能夠獲得這些信息?還是它是爲了您自己的編程需要,以便在數據更改時您可以通過編程實現某些功能?在這兩種情況下,觸發器都會讓您有機會詢問更改時發生的變化。您可以在觸發器內使用COLUMNS_UPDATED()(如@isme:)。