文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>光脚丫学LINQ(044):数据库中的计算所得列

光脚丫学LINQ(044):数据库中的计算所得列

时间:2011-01-07  来源:光脚丫思考

CREATE TABLE [dbo].[Products](
 [ProductID] [int] IDENTITY(1,1) NOT NULL,
 [ProductName] [nvarchar](40) NOT NULL,
 [UnitPrice] [money] NULL,
 [UnitsInStock] [smallint] NULL,
 [TotalValue]  AS ([UnitPrice]*[UnitsInStock])

根据上面的表达式可以知道TotalValue列的数值,
是由UnitPrice和UnitsInStock这两个列确定的,即这两列数值的乘积。

INSERT
当使用INSERT命令向包含计算所得列的数据表添加新纪录的时候,
不要试图为新纪录的计算所得列提供数值,
那样做的话,这个添加纪录的SQL语句会发生错误,添加失败!
原因很简单,计算所得列的值是由数据库根据表达式自行计算的。
你偏偏给它赋值,岂不是让数据库觉得很不爽?于是乎,错误你一把又怎样?
你可能会想,如果我也按照表达式来计算的话,
这样数值不就正确了吗?应该会被正确执行的吧?
结论是,不可以!数据库会咆哮着对你说:你越权了!^_^

UPDATE
当我们执行更新SQL命令的时候,凡是表达式中涉及到的数据列的数值被更新了,
那么,数据库也会自动更新计算所得列中的数值。
同样的,在更新SQL命令中,也不要试图为计算所得列赋值。
那样做,同样是错误的!

光脚丫思考 2011-1-7

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载