可通过 SRID 约束对可存储在空间列中的值加以限制。例如,执行以下语句可创建一个名为 Test 的表,该表的 Geometry_2 列存在 SRID 约束 (SRID=4326):
CREATE TABLE Test ( ID INTEGER PRIMARY KEY, Geometry_1 ST_Geometry, Geometry_2 ST_Geometry(SRID=4326), ); |
此约束表示只有与 SRID 4326 相关联的值才可存储在此列中。
列 Geometry_1 无任何约束,因此可存储与任何 SRID 相关联的值。
要想在索引中包括某个空间列,该列必须具有 SRID 约束。例如,您无法对 Geometry_1 列创建索引。但可以对 Geometry_2 列创建索引。
如果您所拥有的表具有现有空间列,则可使用 ALTER ABLE 语句为空间列添加 SRID 约束。例如,执行类似于以下内容的语句可为名为 Test 的表中的 Geometry_1 列添加约束:
ALTER TABLE Test MODIFY Geometry_1 ST_Geometry(SRID=4326); |
要向表中添加空间列,必须确保已为该表定义了主键。除非已定义了主键,否则包含空间列的表将不支持更新和删除操作。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |