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

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

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

提示提示:

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

步骤:
  1. 如果要编辑版本化表,请按照创建多版本化视图所述创建表的多版本化视图。
  2. 如果要编辑版本化表,请按照在 PostgreSQL 中使用多版本化视图和 SQL 编辑版本化数据中的说明创建用于编辑的版本,设置版本,然后启动编辑会话。如果要编辑非版本化表,请继续下一步骤。
  3. 当插入记录时,请使用 retrieve_guid() 函数插入下一个全局 ID 或 GUID 值。
    INSERT INTO jason.asset_mv (asset_id,globalid) 
    VALUES (57,sde.retrieve_guid());
    
  4. 完成编辑后,如果编辑的是版本化表,请按照在 PostgreSQL 中使用多版本化视图和 SQL 编辑版本化数据所述停止编辑会话。

7/10/2012