在SQL Server中创建一个全局静态变量?

时间:2009-12-03 08:18:30

标签: sql sql-server sql-server-2005 tsql global-variables

有没有办法在SQL Server中创建一个全局变量,即使服务器重新启动它仍然存在,所以我可以在函数中使用它?

我需要的例子:

DECLARE @@DefaultValue bit

除非我明确表示,否则不应删除此变量。

4 个答案:

答案 0 :(得分:10)

我想这对我来说效果最好:

CREATE FUNCTION [dbo].[fn_GetDefaultPercent]()
RETURNS decimal(5,4)
AS
BEGIN
    RETURN 1.0000
END

答案 1 :(得分:8)

你可以看看像这样的东西

"Global variables" in SQL Server

答案 2 :(得分:5)

不是全局变量。

您可以定义一个全局UDF,就像您可以创建一个“系统”存储过程(在master中启动“sp”),但我没有尝试过。

注意:

即使DECLARE @@DefaultValue bit实际上是本地的:

@表示局部变量,标识符为@DefaultValue

它不是真正的全局:从另一个查询窗口尝试SELECT @@DefaultValue

答案 3 :(得分:0)

我知道答案但只是为了好玩:)

包含2列的表如何:

GLB_VARIABLES:
GLB_VAR_NAME varchar(100) PRIMARY KEY,
GLB_VAR_VALUE varchar(100)