sql中的数学运算2表

时间:2015-11-03 10:13:28

标签: sql-server database visual-studio visual-studio-2012 vb.net-2010

使用Visual Studio 2012中的SQL数据库。

但我不知道如何让他们进行自动数学运算。案子: datagridview中有3个表:

  1. 薪水
  2. salary_Overtime
  3. salary_cuts
  4. 总计=(工资+工资_工资) - salary_cuts

    我已经在这里写了一些编码,但是当我保存新数据时它没有影响。我问我的朋友,他说你应该添加新的触发器。

    ==薪水== == Salary_Overtime == == Salary_Cuts == ==总计==

    == 5000 == == 2000 == == 1000 == == 6000 ==

1 个答案:

答案 0 :(得分:0)

您可以在SQL Server中使用Computed Column来执行您要执行的操作。

在表格中指定计算列:

  

计算列是未物理存储的虚拟列   该表,除非该列标记为PERSISTED。计算列   表达式可以使用其他列中的数据来计算值   它所属的列。您可以为a指定表达式   使用SQL Server Management在SQL Server 2016中计算列   Studio或Transact-SQL。

下面是一个例子。请注意,Total列包含计算,因此当您查询表时,它将为您计算值:

CREATE TABLE #Salary
    (
      salary INT ,
      salary_overtime INT ,
      salary_cuts INT ,
      Total AS ( salary + salary_overtime ) - salary_cuts
    );

-- Insert values into the table.
INSERT  INTO #Salary
        ( salary ,
          salary_overtime ,
          salary_cuts
        )
VALUES  ( 5000 ,
          2000 ,
          1000 
        )

SELECT  *
FROM    #Salary

-- Produces:
--salary    salary_overtime salary_cuts Total
--5000      2000            1000        6000

-- After an UPDATE:
UPDATE  #Salary
SET     salary_cuts = 2000

SELECT  *
FROM    #Salary

-- Produces:
-- salary   salary_overtime salary_cuts Total
-- 5000     2000            2000        5000

DROP TABLE #Salary