SQL Server 2008计算列

时间:2013-02-24 00:21:01

标签: sql sql-server sql-server-2008

这是我在名为Loan

的表中的计算机列规范中的公式
(dateadd(month,(1),[CheckOutDate]))

(1)应该从另一个名为loan_period的表格中替换为item_details

这是可能的,公式看起来如何。

2 个答案:

答案 0 :(得分:2)

根据我的意识,

Computed columns仅引用同一个表中的列。

要在此处执行您想要的操作,您可以在两个表上定义TRIGGER,在修改任一表时填充数据,或者(更简单)创建VIEW

答案 1 :(得分:0)

您可以创建一个使用函数的计算列,然后引用另一个表。

E.g。

create table t (
    a int primary key,
    b int
)
GO

create function dbo.f(@a int)
returns int
as
begin
    return (select b from t where a = @a);
end
GO

create table t2 (
    c int primary key,
    d as dbo.f(c)
)
GO

insert into t values (1, 2)
insert into t2 (c) values (1)

select * from t2

N.B。执行此操作时应考虑性能因素,并确保至少已准备好正确的索引。