Глобальные переменные

Tsql теория > Глобальные переменные
26.02.2013 11:41:19



Статья:

В большинстве языков программирования глобальной называется переменная, имеющая большую область определения. В Т-SQL все не так. Глобальные переменные можно назвать системными. Они доступны только для чтения, и являются своеобразными окнами в состояние системы в текущем подключении и/или пакете.

Глобальные переменные создать нельзя. Существует фиксированный набор глобальных переменных, и все они начинаются с двух символов @@. Все глобальные переменные перечислены в табл. 18.1, однако чаще остальных на практике используются @@Error, @@Identity, @@NestLevel и @@ServerName.

Таблица 18.1. Глобальные переменные

Глобальная

Возвращает

Область оп

переменная

ределения

@@Connect ions

Общее число попыток подключения с момента запуска SQL Server

Сервер

@@CPU_Busy

Общее число миллисекунд загрузки процессора с момента запуска SQL Server

Сервер

@@Cursor_Rows

Количество строк, возвращенных последним открытым курсором

Подключение

@@DateFirst

День, считающийся первым днем недели (1 представляет понедельник, 2 — вторник и т.д.)

Подключение

@@DBTS

Текущее значение штампа времени в базе данных

База данных

@@Error

Код ошибки последней выполненной инструкции T-SQL

Подключение

@@Fetch_Status

Состояние строки из последней команды cursor fetch

Подключение

@@identity

Последнее значение идентичности, сгенерированное в текущем подключении

Подключение

@@idle

Общее количество миллисекунд, которые SQL Server простаивал с момента запуска

Сервер

@@I0_Busy

Общее количество миллисекунд, потраченных сервером на операции ввода-вывода

Сервер

@@LangID

Идентификатор языка, используемый для текущего подключения

Подключение

@@Language

Название языка, используемого в текущем подключении

Подключение

@@Lock_Timeout

Время ожидания блокировки, используемое в текущем подключении

Подключение

@@Max_

Текущее максимальное количество одновременных подключений

Сервер

Connections

к SQL Server

Глобальная

Возвращает

Область оп

переменная

ределения

@@Мах_Ргесision

Настройка максимальной точности числовых значений

Сервер

@@Nestlevel

Текущее число вложенных хранимых процедур

Подключение

@@Options

Двоичное представление всех текущих параметров подключения

Подключение

@@Pack_Received

Общее количество сетевых пакетов, полученных сервером с момента запуска

Сервер

@@Pack_Sent

Общее количество сетевых пакетов, отправленных сервером с момента запуска

Сервер

@@Packet_Errors

Общее число ошибок сетевых пакетов, распознанных сервером с момента запуска

Сервер

@@ProcID

Идентификатор текущей хранимой процедуры. Может использоваться функцией Sysobject для получения имени процедуры:

SELECT Name FROM SysObject WHERE id=@@ProcID

Подключение

@@RemServer

Имя подключаемого сервера при запуске удаленных хранимых процедур

Подключение

@@RowCount

Количество строк, возвращенных последней инструкцией T-SQL

Подключение

@@ServerName

Имя текущего сервера

Сервер

@@ServiceName

Имя службы SQL Server в системе Windows

Сервер

@@SPID

Идентификатор серверного процесса текущего подключения

Подключение

@@TextSize

Текущий максимальный размер особо больших данных (типов text, ntext И image)

Сервер

@@TimeTicks

Количество миллисекунд в одном такте

Сервер

@@Total Errors

Общее количество дисковых ошибок, зарегистрированных сервером с момента запуска

Сервер

@@Total_Read

Общее количество операций чтения с диска с момента запуска сервера

Сервер

@@Total_Write

Общее число операций записи на диск с момента запуска сервера

Сервер

@@TranCount

Общее число активизированных транзакций в текущем подключении

Подключение

@@Version

Редакция, версия и установленный пакет обновлений SQL Server

Сервер