有没有办法使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"列的任何更改?