2009-12-03 4 views
9

Есть ли способ создать глобальную переменную в SQL Server таким образом, чтобы она сохранялась, даже если сервер перезагружен, поэтому я могу использовать его в функциях?Создать глобальную статическую переменную в SQL Server?

Пример из того, что мне нужно:

DECLARE @@DefaultValue bit 

Эта переменная никогда не должны быть удалены, если я не explicityl сделать это.

ответ

8

Я думаю, что это будет работать лучше для меня:

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

Как эта переменная? – CompanyDroneFromSector7G

5

Не глобальная переменная.

Есть шанс, что вы можете определить глобальный UDF, как вы можете создать «системную» сохраненную процедуру (запускает «sp» в master), но я ее не пробовал.

Примечание:

Даже DECLARE @@DefaultValue bit на самом деле местные:

@ означает локальную переменную, идентификатор @DefaultValue

Это на самом деле не глобальный: попробуйте SELECT @@DefaultValue из 2 еще одно окно запроса

8

Вы можете взгляните на что-то вроде этого

"Global variables" in SQL Server

+0

Ах, хорошо, хорошая идея .. :-) – gbn

+0

Глобальные переменные не являются постоянными вообще. – Shimmy

+1

Как бы вы использовали эти глобальные переменные в запросе? – Haoest

0

Я знаю ответа, но просто для удовольствия :)

Как насчет таблицы с 2 колонками, как:

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

Ответ Ответы на пример того, как это сделать, и как их использовать. – cincodenada

Смежные вопросы