使用 SQL 将值插入到 SQL Server 中的全局 ID 或 GUID 列中

全局 ID 和 GUID 数据类型可存储注册表样式的字符串,该字符串包含用大括号括起来的 36 个字符。这些字符串用于唯一识别单个地理数据库中和跨多个地理数据库的要素或表行。全局 ID 用于保持单向和双向地理数据库复本中的记录的唯一性。GUID 可以添加到任何图层。

因此,如果要编辑的表参与复制或包含 GUID 列,在使用 SQL 将新记录插入到表中时必须将唯一值插入到全局 ID 或 GUID 列中。要执行此操作,请使用 Microsoft SQL Server 函数 newid()。如果编辑的表已版本化,请使用 SQL 调用 newid() 函数来编辑表的多版本化视图。

提示提示:

右键单击“目录”窗口中的数据集,然后单击添加全局 ID,可将全局 ID 添加到要素类。当使用 ArcGIS 进行编辑时,地理数据库会自动保留这些值。

步骤:
  1. 如果要编辑版本化表,请按照创建多版本化视图所述创建表的多版本化视图。
  2. 以具有编辑此表权限的用户身份登录到 SQL Server Management Studio。
  3. 打开新的查询窗口,然后连接到包含待编辑视图的数据库。
  4. 如果要编辑版本化表,请按照在 SQL Server 中使用多版本化视图和 SQL 编辑版本化数据中的说明创建新的版本,设置版本,然后启动编辑会话。如果要编辑非版本化表,请继续下一步骤。
  5. 要将记录插入到表中时,请使用 newid() 函数来填充全局 ID 或 GUID 列。
    INSERT INTO jason.asset_mv (asset_id,globalid) 
    VALUES (57,newid())
    
  6. 如果通过多版本化视图进行编辑,请在完成编辑后关闭编辑会话。有关语法信息,请参阅在 SQL Server 中使用多版本化视图和 SQL 编辑版本化数据

7/10/2012