Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внимание! Идентифицирующие значения

Переменные

Переменные, параметры и коды возврата

SQL Server предоставляет объекты трех типов для передачи значений в ваш программный (клиентский по отношению к СУБД) код, а также возврата скалярного значения вызывающей серверный код на Transact-SQL программе.

 

Переменные обеспечивают манипулирование данными, их хранение и передачу как внутри процедуры, так и между хранимыми процедурами и функциями. В SQL Server есть два вида переменных: локальные и глобальные. Локальная переменная обозначается одним символом "эт" (@), а глобальная переменная — двумя (@@). Кроме того, локальные переменные вы можете создавать, читать и писать в них, а глобальные переменные можно только читать. В табл. 1 пере­числены некоторые самые популярные глобальные переменные.

 

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

Глобальная переменная Описание
@@ERROR Код ошибки последней выполненной инструкции
@@IDENTITY Последнее идентифицирующее значение, вставленное в текущем соединении с SQL Server
@@ROWCOUNT Количество строк, обработанных последней инструкцией
@@TRANCOUNT Количество открытых транзакций в текущем соединении
@@VERSION Версия SQL Server

 

Переменная @@identity содержит последнее идентифицирующее значение, встав­ленное в таблицу или представление в текущем соединении c SQL Server. Если вы вызываете несколько программных кодов, вставляю­щих идентифицирующие значения, последнее вставленное значение всегда содер­жится в переменной @@identity. Например, если вызывается процедура, встав­ляющая строку в таблицу ТаblеА, которая содержит триггер, вставляющий строки в таблицы TableB, TableC и TableD, причем каждая вставка генерирует новое значе­ние идентификации, значение @@identity, которое извлекается следом за вставкой в таблицу ТаblеА, соответствует значению идентификации, вставленному в TableD. Из-за этого ограничения применять @@identity не рекомендуется. Используйте вместо нее функцию scope identity(), которая вернет последнее идентифици­рующее значение, вставленное в пределах текущей инструкции.

 

Конкретная переменная, которая не является входным параметром функции или процедуры, можно определить с помощью инструкции declare, в которой указываете имя и тип данных переменной. У переменной может быть любой тип данных, кроме типов text, ntext и image. Например,

DECLARE @intvariable INT,

@datevariable date

-- В вышеприведенном коде определены 2 переменные:

-- @intvariable – типа int,

-- @datevariable – типа date


 

-- В коде, приведенном ниже, определена табличная --- переменная, состоящая из 2-х столбцов:

-- ID – типа int, Patient – типа VARCHAR(50).

-- Оба столбца не могут быть равны null.

-- Сама табличная переменная хранится в оперативной -- памяти и удаляется при покидании программы -- пределов видимости переменной.

 

DECLARE @tablevar table

(

ID INT not null,

Patient VARCHAR(50) NOT NULL

)

 

<== предыдущая лекция | следующая лекция ==>
Конспект лекции 5 | Параметры
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 417; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.