有没有办法使TSQL变量恒定?

时间:2020-03-05 18:42:57  来源:igfitidea点击:

有没有办法使TSQL变量恒定?

解决方案

回答

数据库文献中没有"创建常量"之类的东西。常量按原样存在,通常称为值。可以声明一个变量并为其分配一个值(常量)。从学校的角度来看:

DECLARE @two INT
SET @two = 2

这里@two是变量,2是值/常数。

回答

不,但是我们可以在其中创建一个函数并将其硬编码并使用它。

这是一个例子:

CREATE FUNCTION fnConstant()
RETURNS INT
AS
BEGIN
    RETURN 2
END
GO

SELECT dbo.fnConstant()

回答

不可以,但是应该使用良好的旧命名约定。

declare @MY_VALUE as int

回答

好吧,让我们看看

常量是不可变的值,在编译时就知道这些值,并且在程序生命周期内不会更改

这意味着我们永远无法在SQL Server中拥有常量

declare @myvalue as int
set @myvalue = 5
set @myvalue = 10--oops we just changed it

价值刚刚改变

回答

T-SQL中没有对常量的内置支持。我们可以使用SQLMenace的方法对其进行仿真(尽管我们永远无法确定是否有人重写了该函数以返回其他内容),或者可能编写了包含常量的表,如此处建议的那样。也许编写一个触发器来回滚对" ConstantValue"列的任何更改?