2016-10-24 4 views
1

Что означает @@ символы перед некоторой переменной в хранимой процедуре t-sql? благодаря!@@ в t-sql хранимой процедуре

+1

префикс для переменных зарезервированное SQL Server –

+0

Я думаю, что это стоит читать Http: // www.codeproject.com/Articles/39131/Global-Variables-in-SQL-Server –

ответ

1

@@ - префикс, используемый системными переменными, например.

@@VERSION 

Вы можете создать свои собственные переменные, имеющие один префикс @, например.

DECLARE @id INT 
1

Из MSDN

Названия некоторых системных функций Transact-SQL начинаются с двух в знаков (@@). Хотя в более ранних версиях Microsoft SQL Server функции @@ называются глобальными переменными, они не являются переменными и не имеют одинакового поведения в качестве переменных. Функции @@ являются системными функциями, а их использование синтаксиса следует за правилами .

Таким образом, @@ не являются переменными, а предоставлены SQL Server для представления определенного значения для сервера или сеанса.

Например.

SELECT @@ERROR -- gives error status of previously executed statement. 
--If statement succeeds , it contains value 0 else it contains last error number generated by system. 
0
  • Глобальные имена переменных начинаются с @@ префиксом.
  • Постоянно поддерживается сервером.
  • системные функции.

    Пример:

@@ ROWCOUNT
@@ VERSION
@@ СОЕДИНЕНИЯ

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