啥叫计算列 一直不懂 谁给解释一下啊

解决方案 »

  1.   

    CREATE TABLE TB(A INT,B AS A*10)
    INSERT INTO TB
    SELECT 1SELECT * FROM TB
      

  2.   

    运行一下就知道了。
    B列是计算列,它的值等于A的值*10,会根据A的值变化
      

  3.   

    连接丛书
    computed_column_expression是定义计算列值的表达式。计算列是物理上并不存储在表中的虚拟列。计算列由同一表中的其它列通过表达式计算得到。例如,计算列可以这样定义:cost AS price * qty。表达式可以是非计算列的列名、常量、函数、变量,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。计算列可用于选择列表、WHERE 子句、ORDER BY 子句或任何其它可使用常规表达式的位置,但下列情况除外: 计算列不能用作 DEFAULT 或 FOREIGN KEY 约束定义,也不能与 NOT NULL 约束定义一起使用。但是,如果计算列由具有确定性的表达式定义,并且索引列中允许计算结果的数据类型,则可将该列用作索引中的键列,或用作 PRIMARY KEY 或 UNIQUE 约束的一部分。