Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 默认情况下,在插入到另一列时自动插入到一列中_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Sql 默认情况下,在插入到另一列时自动插入到一列中

Sql 默认情况下,在插入到另一列时自动插入到一列中,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,假设一个表中有两列。如果我试图插入到一列中,那么该值也会自动出现在另一列中。 但由于性能原因,我不想使用触发器 我看到,在添加一个新列时,他在数据类型之后使用了“expression” 请帮帮我。它被称为计算列 本例将创建一列(称为InventoryValue),该列将包含基于其他两列(QTYAAvailable和UnitPrice)的值 发件人: 注: InventoryValue的值将在选择的时间计算,而不是在插入/更新期间。如果希望在插入时对其进行计算,则需要将其标记为持久化。如果在计算中

假设一个表中有两列。如果我试图插入到一列中,那么该值也会自动出现在另一列中。 但由于性能原因,我不想使用触发器

我看到,在添加一个新列时,他在数据类型之后使用了“expression”


请帮帮我。

它被称为计算列

本例将创建一列(称为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 )