如何在不使用视图,函数,触发器或过程的情况下在计算列上创建表case语句?

时间:2019-05-09 06:14:05

标签: sql-server

{// code like

**

create table abctable(  
var1 int not null,  
var2 int not null,  
var3 as var1+var2,  
var4 as case when var3>40 then 1 else 0  
)

**

//
}

var3是计算列,我们将var4创建为另一个依赖var3的计算列。

仅使用创建表语法,而不使用视图,过程,函数等。

1 个答案:

答案 0 :(得分:0)

您必须每次都重复计算,就像这个例子一样。
因此,这取决于您计算的复杂程度和复杂程度,如果您要进行大量计算,那么view可能不是一个坏主意。
您是否有不想使用view的原因?

create table abctable(  
  var1 int not null,  
  var2 int not null,  
  var3 as var1 + var2,  
  var4 as case when (var1 + var2) > 40 then 1 else 0 end 
)