2012-04-09 78 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:)。