Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_КОНСПЕКТ.doc
Скачиваний:
134
Добавлен:
29.02.2016
Размер:
595.97 Кб
Скачать

8) Специальные типы данных.

Bitэтот тип данных позволяет хранить один бит и принимает значение 0 или 1. Тип данных bit как нельзя лучше подходит для хранения данных, которые могут принимать только два значения: «YES/NO», «MAN/WOMAN», «TRUE/FALSE», «ON/OFF» и т. д.

Timestamp этот тип данных используется SQL Server 7.0 в качестве индикатора версии изменения строки в пределах базы данных. С помощью типа данных можно отслеживать последовательность изменений строк, как в пределах таблицы, так и в пределах базы данных. Значения timestamp не имеют ничего общего с типами datetime и smalldatetime. Если в таблице имеется колонка типа timestamp, то сервер будет автоматически выполнять обновление значений в этой колонке при изменении или добавлении строки. Значение timestamp уникально в пределах базы данных и может быть с успехом использовано для идентификации конкретного значения строки. Для каждой базы данных SQL Server ведет отдельный счетчик значений timestamp. При внесении любых изменений в таблицу, в которой имеется колонка типа timestamp, значение счетчика увеличивается на 1, после чего новое значение сохраняется в измененной строке. Тип timestamp может иметь только одна колонка в таблице

Uniqueidentifier – этот тип данных используется для хранения глобальных уникальных идентификационных номеров (Global Unique Identifier – GUID). Значения типа занимают 16. В SQL Server 7.0 имеется функция NEWIDO, с помощью которой может быть получено уникальное значение типа uniqueidentifier. Полученное значение может быть использовано для уникальной идентификации строки. В отличие от колонок типа timestamp, значения в колонках uniqueidentifier автоматически не изменяются. Для генерации значения функцией NEWIDO используется номер сетевой карты и текущее значение времени внутри процессора в миллисекундах.

Sysname – это пользовательский тип данных, созданный самим SQL Server на основе типа данных nvarchar(128). Тип данных sysname используется для описания имен объектов базы данных, таких как таблицы, колонки, типы данных, логические имена файлов и т. д.

Конвертирование типов данных

Нередко бывает необходимо выполнить конвертирование значения одного типа в значение другого типа. Наиболее часто выполняется конвертирование чисел в строки и наоборот. Для конвертирования значений числовых типов данных в символьные строки используется специализированная функция STR. Для выполнения других преобразований в SQL сервере используются универсальные функции CONVERT и CAST. Аргументом функции CAST является величина, которую необходимо конвертировать.

CONVERT (data_type [(length)]), expression [, style])

Управляющие конструкции Transact sql

BEGIN...END

С помощью этой конструкции выполняется группировка двух и более команд в единый блок. Сгруппированные команды воспринимаются интерпретатором Transact-SQL как один оператор. Подобная группировка требуется для конструкций поливариантных ветвлений, условных и циклических конструкций. Ключевое слово BEGIN ставится в начале блока. После него располагаются одна или несколько команд. Завершается блок ключевым словом END:

Блоки BEGIN...END могут быть вложенными. SQL Server 7.0 практически не ограничивает глубину вложенности блоков. На практике глубина вложенности редко превышает 5–7.

Для облегчения понимания структуры программы, вложенные блоки принято выделять, добавляя в начале строки символы табуляции или пробела.

Некоторые команды Transact-SQL не должны выполняться вместе с другими командами, поэтому их включение в конструкцию BEGIN...END совместно с другими командами не допускается. К таким командам относятся команды резервного копирования, изменения структуры таблиц, хранимых процедур и им подобные.