在 Informix 中使用 SQL 编辑非版本化的地理数据库 (geodatabase) 数据
如果数据不参与地理数据库行为,则可在地理数据库中使用 SQL 更新数据、将数据插入非版本化表或从其中删除数据。有关无法使用 SQL 编辑的数据类型和地理数据库行为类型的详细信息,请参阅可使用 SQL 编辑何种数据类型?。
已注册到地理数据库的所有数据都具有由系统维护的唯一非空对象 ID(行 ID)列。在地理数据库中使用 SQL 将记录插入非版本化表时,必须为对象 ID 提供唯一的值。
这组说明介绍每次更新一行。很可能要编写例程或客户端程序来检索对象 ID 和更新数据。
步骤:
-
从 SQL 编辑器(如 I-SQL)登录到数据库。
请确保以拥有数据编辑权限的用户身份登录到数据库。
-
查询 table_registry 表,找到要插入行的表的注册 ID 和所有者。
此例中,返回了 factories 表的注册 ID 和所有者名称。
SELECT owner,registration_id,table_name FROM sde.table_registry WHERE table_name='factories'; owner registration_id table_name editor1 7 factories
- 登录并执行 next_row_id 函数,获取下一可用的行 ID 值。
-
执行 next_row_id 函数。此函数归 sde 用户所有。
此例中,editor1 为表的所有者,7 为表的注册 ID。
EXECUTE FUNCTION "sde".next_row_id('editor1',7); ret_code 0 err_msg rowid 18 1 row(s) retrieved.
-
返回到 SQL 编辑器,将记录插入表中。
INSERT INTO factories VALUES ( 18, 'makem' ST_PolyFromText('POLYGON((52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18))',101) );
相关主题
7/10/2012