Локальные переменные объявляются внутри хранимой процедуры или пакета с помощью оператора DECLARE и доступны только в рамках этого конкретного блока кода.
DECLARE @localVar INT = 10;
Глобальные переменные доступны на протяжении всей сессии базы данных и не ограничены одной процедурой или пакетом.
@@SELECT @@ROWCOUNT; -- возвращает количество строк, затронутых последним оператором
SELECT @@VERSION; -- возвращает информацию о версии SQL Server
| Локальные | Глобальные | |
|---|---|---|
| Префикс | @ | @@ |
| Объявляются | Пользователем | Системой |
| Область видимости | Текущий пакет/процедура | Вся сессия |
| Время жизни | До конца пакета | На уровне сессии |
@@ERROR или @@ROWCOUNT обычно используются после операторов для проверки результатов выполненияЛокальные переменные, объявленные с префиксом @ в хранимой процедуре, остаются доступными в других процедурах в рамках одной сессии базы данных.
Новый — ещё не проверен сообществом
Вы