Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Unterstützung für räumliche Daten » Erste Orientierung zu räumlichen Daten » Arbeit mit räumlichen Daten » Räumliche Spalte erstellen

 

Eine SRID als Spaltenintegritätsregel verwenden

SRID-Integritätsregeln ermöglichen es, Einschränkungen für die Werte festzulegen, die in einer räumlichen Spalte gespeichert werden können. Beispiel: Führen Sie folgende Anweisung aus, um eine Tabelle namens Test mit einer SRID-Integritätsregel (SRID=4326) in der Spalte Geometry_2 zu erstellen:

CREATE TABLE Test (
   ID INTEGER PRIMARY KEY,
   Geometry_1 ST_Geometry,
   Geometry_2 ST_Geometry(SRID=4326),
   );

Diese Integritätsregel bedeutet, dass nur Werte in dieser Spalte gespeichert werden können, die SRID 4326 zugeordnet sind.

Die Spalte Geometry_1 hat keine Integritätsregel und kann Werte, die einer beliebigen SRID zugeordnet sind, speichern.

Um eine räumliche Spalte in einen Index einzubeziehen, muss diese Spalte eine SRID-Integritätsregel besitzen. Es ist zum Beispiel nicht möglich, einen Index für die Spalte Geometry_1 zu berechnen. Sie können jedoch einen Index für die Spalte Geometry_2 erstellen.

Wenn Sie eine Tabelle mit einer vorhandenen räumlichen Spalte haben, können Sie dieser Spalte mit der Anweisung ALTER TABLE eine SRID hinzufügen. Beispiel: Fügen Sie der Spalte Geometry_1 in der Tabelle Test mit einer Anweisung ähnlich der folgenden eine Integritätsregel hinzu:

ALTER TABLE Test 
   MODIFY Geometry_1 ST_Geometry(SRID=4326);
Hinweis

Wenn Sie einer Tabelle eine räumliche Spalte hinzufügen, sollten Sie sicherstellen, dass für die Tabelle ein Primärschlüssel definiert ist. Aktualisierungs- und Löschvorgänge werden für Tabellen, die eine räumliche Spalte enthalten, nur unterstützt, wenn für sie ein Primärschlüssel definiert ist.