【问题标题】:Create a global static variable in SQL Server?在 SQL Server 中创建全局静态变量?
【发布时间】:2009-12-03 08:18:30
【问题描述】:

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

我需要的例子:

DECLARE @@DefaultValue bit

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

【问题讨论】:

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


    【解决方案1】:

    我想这对我来说是最好的:

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

    【讨论】:

    • 这个变量如何?
    • @CompanyDroneFromSector7G:你可以使用它variable-esque,就像在条件句中一样,即使它只是一个不存在的功能的变通方法。
    • @dakab 然后是一个常数,我想这可能会成为解决方案的一部分。
    【解决方案2】:

    你可以看看这样的东西

    "Global variables" in SQL Server

    【讨论】:

    【解决方案3】:

    不是全局变量。

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

    注意:

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

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

    这不是真正的全球性:从另一个查询窗口 2 中尝试 SELECT @@DefaultValue

    【讨论】:

      【解决方案4】:

      我知道有人回答,但只是为了好玩:)

      一个有 2 列的表格怎么样:

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

      【讨论】:

      • Astander 的回答链接到如何稳健地执行此类操作以及如何实际使用它们的示例。
      猜你喜欢
      • 1970-01-01
      • 2015-06-12
      • 2022-01-28
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 2011-04-11
      相关资源
      最近更新 更多