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.
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:
SET <assignment>
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.
Trennen Sie mehrere Zuweisungen in derselben Anweisung durch Kommas. Beispiel:
SET user_text_1 = "text", user_number_1 = x
Legt für alle Objekte des ausgewählten Objekttyps das Feld user_text_1 auf den Wert text und das Feld user_number_1 auf den Wert im Feld x fest.
SET <assignment> WHERE <conditional expression>
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.
Trennen Sie mehrere Zuweisungen in derselben Anweisung durch Kommas. Beispiel:
SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000
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.
Trennen Sie mehrere Anweisungen durch Semikolons voneinander. Beispiel:
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 wird für alle Objekte des ausgewählten Objekttyps auf 3.
So aktualisieren Sie Werte in einer Anordnung innerhalb eines Objekts
SET <array name.array fieldname> = <expression>
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.
SET user_text_5 = gislayer.AREA
Dadurch wird das Feld user_text_5 für alle Knoten in einem GIS-Polygon im GIS-Layer Straßen auf den Wert im Feld FLÄCHE des GIS-Polygons gesetzt.
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.
UPDATE <object type> SET <assignment>
UPDATE <object type> SET <assignment> WHERE <conditional expression>
Trennen Sie mehrere Zuweisungen in derselben Anweisung durch Kommas und mehrere Anweisungen durch Semikolons, wie im Abschnitt Aktualisieren des aktuellen Objekttyps oben beschrieben.
UPDATE [All Links] SET user_text_1 = "text"
Legt das Feld user_text_1 für alle Verbindungsobjekte auf text fest.
UPDATE node SET user_number_1 = 1 WHERE x > 100000
Legt das Feld user_number_1 für Knotenobjekte, deren x-Koordinate größer als 100000 ist, auf 1 fest.