Добавление значения в столбец global ID или GUID в SQL Server с использованием SQL

Типы данных global ID и GUID содержат реестр строк стилей (registry style strings), состоящий из 36 символов, заключенных в круглые скобки. Эти строки уникально определяют объект или запись таблицы внутри и вне базы геоданных. Global ID используются для поддержки уникальности записей в односторонней или двусторонней репликах базы геоданных и неверсионных данных, использующихся в автономных картах. Идентификаторы GUID могут добавляться к любой таблице.

Однако если таблица, которую вы хотите отредактировать, участвует в репликации или автономных картах либо содержит столбец GUID, то вам необходимо вставить уникальное значение в столбец global ID или GUID, когда вы добавляете новую запись в таблицу, используя SQL. Чтобы сделать это, можно воспользоваться функцией newid().

При редактировании неверсионной таблицы, не включенной для архивирования, используйте функцию для непосредственной вставки ID в таблицу. При редактировании неверсионной таблицы, не включенной для архивирования, используйте функцию для непосредственной вставки ID в архивное представление таблицы. При редактировании версионной таблицы используйте функцию для вставки значения в версионное представление таблицы.

Шаги:
  1. Войдите в SQL Server Management Studio в качестве пользователя с правами на редактирование таблиц.

    Если вы редактируете через версионное или архивное представление, у пользователя должны быть права редактирования данных.

  2. Откройте новое окно запроса и подключитесь к базе данных, которая содержит таблицу или представление, которое будет редактироваться.
  3. Используйте функцию newid() для заполнения global ID или столбца GUID при вставке записи в таблицу.
    INSERT INTO jason.assets (asset_id, globalid) 
     VALUES (57, newid())
    

    Помните, что можно использовать процедуру Next_GlobalID, чтобы получить следующее значение ID. Вы, однако, не можете вкладывать сохраненные процедуры в выражение INSERT. Поэтому вам придется вызвать сохраненную процедуру для получения следующего доступного значения, а затем – взять полученное значение и включить его в выражение. Это может пригодиться, если вы хотите увидеть значение перед его вставкой.

Связанные темы

5/25/2014