Данный тип представляет собой 16-байтный GUID - уникальный идентификатор, генерируемый на основе MAC-адреса сетевой карты и текущего времени. Его главная особенность - уникальность, и хотя уникальность каждого отдельного GUID не гарантируется, общее количество уникальных ключей настолько велико, что вероятность того, что в будут независимо сгенерированы два совпадающих ключа, достаточно мала.
Тип данных cursor
Тип данных cursor применяется для итеративной обработки строк, когда необходимо обрабатывать строки из некоторого набора по одной. cursor создается на основе запросы получающего набор строк и может использоваться только для объявления переменных или выходных параметров хранимых процедур. Необходимо учитывать, что курсор является самым медленным способом обработки данных, и в должен использоваться только в тех случаях когда действительно требуется обработка каждой строки по отдельности. На практике наиболее часто cursor применяется для вызова хранимой процедуры для каждой строки и определенного набора.
Устаревшие типы данных
Типы данных ntext, text, image и timestamp в будущей версии Microsoft SQL Server будут удалены. Следует избегать их использования при разработке новых приложений и запланировать изменение приложений, в которых эти типы в данное время используются. Вместо этих типов данных следует использовать типы nvarchar(max), varchar(max), varbinary(max) и rowversion соответственно.
Ntext
Этот тип данных представляет символьные данные в Юникоде переменной длины, включающие до 2^30 – 1 (1 073 741 823) символов. Объем занимаемого этим типом пространства (в байтах) в два раза превышает число символов.
Text
Этот тип данных представляет данные, отличные от данных Юникод, представленные с использованием кодовой страницы сервера. Максимальная длина данных — 2^31 – 1 (2 147 483 647) символов. Если в кодовой странице сервера используются двухбайтовые символы, объем занимаемого типом пространства все равно не превышает 2 147 483 647 байт.
Image
Этот тип представляет двоичные данные переменной длины, включающие от 0 до 2^31 – 1 (2 147 483 647) байт.
Timestamp
Тип данных timestamp является синонимом типа данных rowversion.
Пользовательские типы данных
Пользовательские типы данных, также именуемые как псевдонимы типов данных, позволяют расширить базовые типы данных SQL Server (например, varcha r) содержательным именем и форматом, который можно приспособить для конкретного использования.
Создание пользовательского типа данных осуществляется вызовом команды CREATE TYPE:
CREATE TYPE type_name
{
FROM base_type
[ (precision [, scale ]) ]
[ NULL | NOT NULL ]
}
type_name
Имя псевдонима типа данных или определяемого пользователем типа данных.
base_type
Предоставляемый SQL Server тип данных, на основе которого формируется псевдоним.
precision
Для типа decimal или numeric является неотрицательным целым числом, которое указывает на максимальное общее число подлежащих сохранению десятичных знаков как слева, так и справа от десятичного разделителя, отделяющего десятичную дробь от целого числа.
scale
Для типа decimal или numeric является неотрицательным целым числом, которое указывает на максимальное общее число подлежащих сохранению десятичных знаков справа от разделителя, отделяющего десятичную дробь от целого числа. Значение должно быть меньше или равно заданной степени точности.
NULL | NOT NULL
Указывает, может ли данный тип иметь значение NULL. Если не указано иное, по умолчанию принимается значение NULL.
Пример:
Следующая инструкция создает определяемый пользователем тип данных birthday, основанный на типе данных datetime, допускающий значения NULL.
CREATE TYPE birthday FROM datetime NULL;
Источники информации о таблицах