SQL zum Aktualisieren von Daten

InfoWorks WS Pro enthält die SQL-Schlüsselwörter SET und UPDATE, mit denen Netzdaten mithilfe eines SQL-Ausdrucks geändert werden können.

Weitere Informationen zu Schlüsselwörtern finden Sie unter "SQL-Syntax".

Weitere Beispiele zur Verwendung von SQL in InfoWorks WS Pro finden Sie in den Themen zu SQL-Beispielen.

Aktualisieren des aktuellen Objekttyps

Das Schlüsselwort SET kann allein oder in Verbindung mit einer WHERE-Unterklausel verwendet werden, um den aktuellen Objekttyp zu aktualisieren, der im Feld Objekttyp des Dialogfelds SQL ausgewählt ist.

Die Syntax lautet wie folgt:

Verwendung des Schlüsselworts SET

SET <Zuweisung>

Beispiel:

SET user_text_1 = "text"

Legt für alle Objekte des ausgewählten Objekttyps (ausgewählt im Feld Objekttyp des Dialogfelds SQL) das Feld user_text_1 auf text fest.

SET user_text_1 = "text", user_number_1 = x

Legt für das Feld user_text_1 den Wert text und für das Feld user_number_1 den Wert im Feld x für alle Objekte des ausgewählten Objekttyps fest.

Verwenden von SET und WHERE

SET <Zuweisung> WHERE <Bedingter Ausdruck>

Beispiel:

SET user_number_1 = 1 WHERE x > 100000

Setzt das Feld user_number_1 für alle Objekte des ausgewählten Objekttyps, deren x-Koordinate größer als 100000 ist, auf 1.

SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000

SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000; SET user_number_3 = 3;

Legt für alle Objekte des ausgewählten Objekttyps, deren x-Koordinate größer als 100000 ist, das Feld user_number_1 auf 1 und das Feld user_number_2 auf 2 fest und setzt das Feld user_number_3 für alle Objekte des ausgewählten Objekttyps auf 3.

Aktualisieren von Werten innerhalb einer Anordnung

So aktualisieren Sie Werte in einer Anordnung innerhalb eines Objekts

SET <Anordnungsname.Anordnungsfeldname> = <Ausdruck>

(Weitere Informationen zur Verwendung von SQL-Abfragen mit Anordnungen finden Sie unter "SQL- und Anordnungsdaten".)

Beispiele

Im Folgenden finden Sie einige weitere Beispiele.

Beispiel 1

SET diameter = 300 WHERE diameter_flag='CH' ; SET length=10 WHERE length < 10

Im ersten Teil wird ein Durchmesser von 300 für alle Rohre festgelegt, bei denen die Datenkennzeichnung für den Rohrdurchmesser auf CH gesetzt ist. Im zweiten Teil wird eine Mindestlänge von 10 m für alle Rohre mit einer Länge unter 10 m festgelegt.

Beispiel 2

Dadurch wird das Feld Benutzertext 5 für alle Knoten in einem GIS-Polygon im GIS-Layer Region auf den Wert im Feld Kategorie des GIS-Polygons gesetzt.

Weitere Informationen zum Einbeziehen von GIS-Layern in SQL-Abfragen finden Sie unter "Einbeziehen von GIS-Daten in SQL-Abfragen".

Aktualisieren eines anderen Objekttyps

Das Schlüsselwort UPDATE wird in Verbindung mit den Schlüsselwörtern SET und WHERE verwendet, um Objekte eines oder mehrerer Typen zu aktualisieren. Dies ist nicht unbedingt der in der Liste Objekttypen im Dialogfeld SQL ausgewählte Typ.

Trennen Sie mehrere Zuweisungen in derselben Anweisung durch Kommas und mehrere Anweisungen durch Semikolons, wie unter Aktualisieren des aktuellen Objekttyps oben beschrieben.

Beispiel 1

UPDATE <Objekttyp> SET <Zuweisung>

Beispiel:

UPDATE [All Links] SET user_text_1 = "text"

Legt das Feld user_text_1 für alle Verbindungsobjekte auf text fest.

Beispiel 2

UPDATE <Objekttyp> SET <Zuweisung> WHERE <Bedingter Ausdruck>

Beispiel:

UPDATE node SET user_number_1 = 1 WHERE x > 100000

Legt für Knotenobjekte, deren x-Koordinate größer als 100000 ist, das Feld user_number_1 auf 1 fest.