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

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

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

编辑不可用于存档的非版本化表时,可使用 sde.retrieve_guid() 函数将 ID 直接插入表中。编辑可用于存档的非版本化表时,将 ID 插入表的存档视图。编辑版本化表时,使用该函数将值插入表的版本化视图。

要在 Informix 中使用此函数,必须在 Informix ONCONFIG 文件中设置以下参数:

VPCLASS jvp,num=1

更改 ONCONFIG 文件后,必须重新启动 Informix 以使更改生效。

步骤:
  1. 以具有编辑此表权限的用户身份从 SQL 提示符处登录到数据库。

    如果通过版本化或存档视图编辑,用户还必须有编辑视图的权限。

  2. 插入记录时,使用 retrieve_guid() 函数插入下一个全局 ID 值。
    INSERT INTO jason.assets (asset_id, globalid) 
     VALUES (57, sde.retrieve_guid());
    
  3. 完成编辑后,请将编辑内容提交到数据库。
5/25/2014