是否在SQL Server中创建全局静态变量?

是否在SQL Server中创建全局静态变量?,sql,sql-server,sql-server-2005,tsql,global-variables,Sql,Sql Server,Sql Server 2005,Tsql,Global Variables,有没有一种方法可以在SQL Server中创建一个全局变量,即使服务器重新启动,它也会保持不变,这样我就可以在函数中使用它 我需要的示例: DECLARE @@DefaultValue bit 除非我明确地这样做,否则不应删除此变量。不是全局变量 有可能您可以定义一个全局UDF,就像您可以创建一个“系统”存储过程一样(在master中启动“sp”),但我还没有尝试过 注: 甚至DECLARE@@DefaultValue位实际上也是本地的: @表示局部变量,标识符为@DefaultValue 它

有没有一种方法可以在SQL Server中创建一个全局变量,即使服务器重新启动,它也会保持不变,这样我就可以在函数中使用它

我需要的示例:

DECLARE @@DefaultValue bit
除非我明确地这样做,否则不应删除此变量。

不是全局变量

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

注:

甚至
DECLARE@@DefaultValue位实际上也是本地的:

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


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


我想这对我来说最合适:

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

我知道答案是肯定的,但只是为了好玩:)

一个有两列的表怎么样,比如:

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

全局变量根本不是持久性的。如何在查询中使用这些全局变量?作为用户定义函数比存储过程更好,尤其是在查询中使用时,否则必须为使用的每个值添加和分配一个变量。此外,这些前缀也不是一个好主意:••••••Astander的答案链接到了一个示例,说明了如何稳健地做这类事情,以及如何实际使用它们。这个变量如何?@companydronefromssector7g:您可以使用变量式,比如在条件句中,即使这只是一个不存在的特性的解决办法。@dakab是一个常数,我想这可能会部分解决问题。