如果数据不参与地理数据库行为,则可在地理数据库中使用 SQL 更新数据、将数据插入非版本化表或从其中删除数据。有关无法使用 SQL 编辑的数据类型和地理数据库行为类型的详细信息,请参阅可使用 SQL 编辑何种数据类型?。
已注册到地理数据库的所有数据都具有由系统维护的唯一非空 ObjectID(行 ID)字段。在地理数据库中使用 SQL 将记录插入非版本化表时,必须为 ObjectID 提供唯一的值。在插入语句中包括 Next_RowID 函数,可以使用下一有效值填充 ObjectID 字段。
这组说明介绍如何在非版本化表中每次更新一行以及如何插入一个 ObjectID。您很可能要编写例程或客户端程序来检索 ObjectID 和更新数据。
- 从 SQL 编辑器(例如 psql)登录到数据库。
请确保以拥有数据编辑权限的用户身份登录到数据库。
- 使用 Next_RowID 函数填充 ObjectID 字段。
在此例中,site_id 列是 ObjectID 字段,表名是 outbreak,并且表存储在 hmoot 方案中。
INSERT INTO hmoot.outbreak (site_id, med_code,num_affected, shape) VALUES ( sde.next_rowid('hmoot', 'outbreak'), 'v-22a', 3, ST_Point('point (12 36))', 4326 );
- 可继续编辑,如果完成编辑则将编辑内容提交到数据库。
如果该表还包含 GUID 或全局 ID 字段,则还必须为此字段提供一个唯一的值。有关详细信息,请参阅 Next_GlobalID。