SQL Server 中的计算列规范






3.45/5 (29投票s)
用于填充第 n 列的计算列规范

引言
本文将帮助用户在后端 (SQL SERVER) 中编写复杂的计算,并在表中填充第 nth 列。由于代码片段是在后端编写的,因此复杂计算的性能很高。
背景
我相信本文的用户已经掌握了编写 SQL 函数的足够知识。我编写了一个函数,该函数将两个参数作为输入,并将参数值添加到结果中。然后,此计算值被插入到我的表的第 nth 列中,其中我的 SQL 插入查询只有两个值。
Using the Code
我创建了一个非常基本的示例来展示“计算列规范”的用法。最初我创建了一个名为“AddValues
”的表,它有三个 INT
数据类型的列,我的列分别命名为 firstvalue
、secondvalue
和 total
。我的想法是插入 firstvalue
和 secondvalue
,其中名为 total 的 thirdcolumn
将根据我编写的函数自动填充。
首先,让我们创建一个包含三列的简单表,如下所示。在 SQL Server 的查询分析器中执行以下操作
//
//CREATE TABLE [dbo].[AddValues](
// [firstvalue] [int] NOT NULL,
// [secondvalue] [int] NOT NULL,
// [total] AS ([dbo].[AddTwoValues]([firstvalue],[secondvalue]))
//) ON [PRIMARY]
//
下一步是创建一个函数,该函数将执行计算,以便填充我们的第三列。在我的示例中,我编写了一个函数,该函数接受两个参数并添加这些值。我的函数返回整数值。用户可以创建他们自己的复杂函数。
//
//ALTER FUNCTION [dbo].[AddTwoValues](@firstval INT,@secondval INT)
//RETURNS INT
//AS
// BEGIN
// DECLARE @Result INT
// SET @Result = @firstval + @secondval
// RETURN
// (
// @Result
// )
// END
//
我的下一步是编写函数名称以及我需要传递的参数。用户需要选择列并在“计算列规范 --> 公式”中编写。请记住,参数是列名,用户不应该在此处使用 '@' 符号。
公式 -- 显示计算列的公式。要编辑此属性,请直接键入新公式。
是否持久化 -- 指示是否存储公式的结果。如果此属性设置为否,则仅存储公式,并且每次引用此列时都会计算这些值。要编辑此属性,请单击其值,展开下拉列表,然后选择另一个值。
现在您可以执行插入查询并查看结果。您可以使用如下所示的简单插入查询
//
//INSERT INTO AddValues VALUES(1,2)
//
历史
当收到用户的查询时,我将更新本文。