[英]Update a table in SQL Server 2008 R2 by a column in another table and also need a sum value
[英]How to create a table with a column that will automatically compute the sum of the other column using SQL Server 2008 R2?
我想创建一个表,该表将自动计算另外四个列的值,该表称为totalAmount。
我的SQL脚本无法正常工作。 请指导我。 谢谢。
这是我的sql,
CREATE TABLE dbo.phicTF(
guid UNIQUEIDENTIFIER NOT NULL DEFAULT NEWSEQUENTIALID() PRIMARY KEY,
phno NVARCHAR(14) NOT NULL,
memLname NVARCHAR(MAX) NOT NULL,
memFname NVARCHAR(MAX) NOT NULL,
memMname NVARCHAR(MAX) NOT NULL,
pLname NVARCHAR(MAX) NOT NULL,
pFname NVARCHAR(MAX) NOT NULL,
pMname NVARCHAR(MAX) NOT NULL,
preltomem NVARCHAR(MAX) NOT NULL,
membership NVARCHAR(MAX) NOT NULL,
pAge NVARCHAR(MAX) NOT NULL,
pSex NVARCHAR(MAX) NOT NULL,
conDateFrom DATE NOT NULL,
conDateTo DATE NOT NULL,
icdCode NVARCHAR(MAX) NOT NULL,
fcRateFac NVARCHAR(MAX) NOT NULL,
fcRatePF NVARCHAR(MAX) NOT NULL,
scRateFac NVARCHAR(MAX) NULL,
scRatePF NVARCHAR(MAX) NULL,
totalAmount AS SUM(fcRateFac+fcRatePF+scRateFac+scRatePF)
) 走
CREATE TABLE dbo.phicTF(
guid UNIQUEIDENTIFIER NOT NULL DEFAULT NEWSEQUENTIALID() PRIMARY KEY,
phno NVARCHAR(14) NOT NULL,
memLname NVARCHAR(MAX) NOT NULL,
memFname NVARCHAR(MAX) NOT NULL,
memMname NVARCHAR(MAX) NOT NULL,
pLname NVARCHAR(MAX) NOT NULL,
pFname NVARCHAR(MAX) NOT NULL,
pMname NVARCHAR(MAX) NOT NULL,
preltomem NVARCHAR(MAX) NOT NULL,
membership NVARCHAR(MAX) NOT NULL,
pAge NVARCHAR(MAX) NOT NULL,
pSex NVARCHAR(MAX) NOT NULL,
conDateFrom DATE NOT NULL,
conDateTo DATE NOT NULL,
icdCode NVARCHAR(MAX) NOT NULL,
fcRateFac NVARCHAR(MAX) NOT NULL,
fcRatePF NVARCHAR(MAX) NOT NULL,
scRateFac NVARCHAR(MAX) NULL,
scRatePF NVARCHAR(MAX) NULL,
totalAmount AS cast(fcRateFac as int)+cast(fcRatePF as int)+cast(scRateFac as int)+cast(scRatePF as int)
)
用这个
将total
列定义为NVARCHAR(MAX)
并在INSERT
和UPDATE
上添加触发器。
在触发器中,获取4列的值对其求和,然后分配给total
列。
将值插入表中时,将TotalAmount声明为小数(15,2),以计算totalamount列。
创建表t(col1 int,col2,int,....总计十进制(15,2)
插入t(col1,col2,col3,totalamount)值(val1,val2,val3,val1 + val2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.