Sql 默认情况下,在插入到另一列时自动插入到一列中
假设一个表中有两列。如果我试图插入到一列中,那么该值也会自动出现在另一列中。 但由于性能原因,我不想使用触发器 我看到,在添加一个新列时,他在数据类型之后使用了“expression”Sql 默认情况下,在插入到另一列时自动插入到一列中,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,假设一个表中有两列。如果我试图插入到一列中,那么该值也会自动出现在另一列中。 但由于性能原因,我不想使用触发器 我看到,在添加一个新列时,他在数据类型之后使用了“expression” 请帮帮我。它被称为计算列 本例将创建一列(称为InventoryValue),该列将包含基于其他两列(QTYAAvailable和UnitPrice)的值 发件人: 注: InventoryValue的值将在选择的时间计算,而不是在插入/更新期间。如果希望在插入时对其进行计算,则需要将其标记为持久化。如果在计算中
请帮帮我。它被称为计算列 本例将创建一列(称为InventoryValue),该列将包含基于其他两列(QTYAAvailable和UnitPrice)的值 发件人: 注: InventoryValue的值将在选择的时间计算,而不是在插入/更新期间。如果希望在插入时对其进行计算,则需要将其标记为持久化。如果在计算中使用getdate函数,这一点尤其重要
CREATE TABLE dbo.Products
(
ProductID int IDENTITY (1,1) NOT NULL
, QtyAvailable smallint
, UnitPrice money
, InventoryValue AS QtyAvailable * UnitPrice PERSISTED
);
持久化计算列可以在索引和外键中使用 它被称为计算列
CREATE TABLE dbo.tbl
(
ID int
, col2 AS ID )
本例将创建一列(称为InventoryValue),该列将包含基于其他两列(QTYAAvailable和UnitPrice)的值
发件人:
注:
InventoryValue的值将在选择的时间计算,而不是在插入/更新期间。如果希望在插入时对其进行计算,则需要将其标记为持久化。如果在计算中使用getdate函数,这一点尤其重要
CREATE TABLE dbo.Products
(
ProductID int IDENTITY (1,1) NOT NULL
, QtyAvailable smallint
, UnitPrice money
, InventoryValue AS QtyAvailable * UnitPrice PERSISTED
);
持久化计算列可以在索引和外键中使用 为什么要有两个完全相同的列?这是一种什么样的RDBMS设计?你是在谈论默认值吗?你能编辑你的问题让它更清楚吗?它建议您将相同的值放入两列中,但从您之前的评论来看,我不认为这是您的意思。为什么您希望有两个相同的列?这是一种什么样的RDBMS设计?你是在谈论默认值吗?你能编辑你的问题让它更清楚吗?它建议您将相同的值放在两列中,但根据您之前的评论,我认为这不是您的意思。建议您添加
InventoryValue
是在选择时计算的,而不是在插入/更新时。建议您添加InventoryValue
是在选择时计算的,而不是在插入/更新时计算的。
CREATE TABLE dbo.tbl
(
ID int
, col2 AS ID )