NEWSEQUENTIALID()

Изменения: 14 апреля 2006 г.

Создает идентификатор GUID, имеющий значение, большее любого идентификатора GUID, который был прежде создан на указанном компьютере при помощи этой функции.

ms189786.note(ru-ru,SQL.90).gifВажно!
Если важна конфиденциальность, то не следует применять эту функцию. Значение следующего формируемого идентификатора GUID можно предугадать и, следовательно, получить доступ к данным, связанным с этим идентификатором GUID.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

NEWSEQUENTIALID ( )

Тип возвращаемых данных

uniqueidentifier

Замечания

Функция NEWSEQUENTIALID() может быть использована только для ограничений DEFAULT для столбцов таблицы типа uniqueidentifier. Например:

CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT NEWSEQUENTIALID()) 

Когда функция NEWSEQUENTIALID() используется в выражениях DEFAULT, она не может быть объединена с другими скалярными операторами. Например, нельзя выполнить следующее:

CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT dbo.myfunction(NEWSEQUENTIALID())) 

В предыдущем примере myfunction() является пользовательской скалярной функцией, которая принимает и возвращает значение uniqueidentifier.

На функцию NEWSEQUENTIALID() нельзя ссылаться в запросах.

Идентификаторы GUID, сформированные при помощи функции NEWSEQUENTIALID(), являются уникальными только в пределах определенного компьютера, если этот компьютер не имеет сетевой платы.

Функцию NEWSEQUENTIALID() можно использовать для формирования идентификаторов GUID, чтобы уменьшить конфликты страниц на конечном уровне индексов.

См. также

Справочник

NEWID (Transact-SQL)
Операторы сравнения (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

14 апреля 2006 г.

Измененное содержимое
  • Изменена инструкция об уникальности идентификатора GUID.