In InfoWorks WS Pro sono incluse le parole chiave SQL SET e UPDATE, che consentono di modificare i dati di rete utilizzando un'espressione SQL.
Per ulteriori informazioni sulle parole chiave, vedere Sintassi SQL.
Per ulteriori esempi di utilizzo di SQL in InfoWorks WS Pro, vedere la sezione Esempi di SQL.
La parola chiave SET può essere usata da sola o assieme ad una sottoclausola WHERE per aggiornare il tipo di oggetto corrente scelto nel campo Tipo di oggetto della finestra di dialogo SQL.
La sintassi è la seguente:
SET <assignment>
SET user_text_1 = "text"
viene impostato il campo user_text_1 su testo per tutti gli oggetti del tipo di oggetto scelto (selezionato nel campo Tipo di oggetto della finestra di dialogo SQL).
Separare più assegnazioni nella stessa istruzione mediante virgole, ad esempio:
SET user_text_1 = "text", user_number_1 = x
Imposta il campo user_text_1 su testo e il campo user_number_1 sul valore nel campo x per tutti gli oggetti del tipo di oggetto scelto.
SET <assignment> WHERE <conditional expression>
SET user_number_1 = 1 WHERE x > 100000
imposta il campo user_number_1 su 1 per tutti gli oggetti del tipo di oggetto scelto con coordinata x maggiore di 100000.
Separare più assegnazioni nella stessa istruzione mediante virgole, ad esempio
SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000
imposta i campi user_number_1 su 1 e user_number_2 su 2 per tutti gli oggetti del tipo di oggetto scelto con coordinata x maggiore di 100000.
Separare più istruzioni mediante punti e virgola, ad esempio
SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000; SET user_number_3 = 3;
Imposta user_number_1 su 1 e user_number_2 su 2 per tutti gli oggetti del tipo di oggetto scelto con coordinata x maggiore di 100000 e imposta user _number 3 su 3 per tutti gli oggetti del tipo di oggetto scelto.
Come aggiornare i valori in un array all'interno di un oggetto:
SET <array name.array fieldname> = <expression>
SET diameter = 300 WHERE diameter_flag = 'CH'; SET length = 10 WHERE length < 10
La prima parte imposta un diametro di 300 per tutte le condotte in cui il flag di dati sul diametro della condotta è impostato su "CH". La seconda parte imposta una lunghezza minima di 10 m per tutte le condotte di lunghezza inferiore a 10 m.
SET user_text_5 = gislayer.AREA
Questo imposterà il campo user_text_5 di qualsiasi nodo all'interno di un poligono GIS nel layer GIS "Roads" sul valore del campo "AREA" del poligono GIS.
La parola chiave UPDATE viene utilizzata insieme alle parole chiave SET e WHERE per aggiornare oggetti di uno o più tipi, non necessariamente del tipo selezionato nell'elenco Tipo di oggetto della finestra di dialogo SQL.
UPDATE <object type> SET <assignment>
UPDATE <object type> SET <assignment> WHERE <conditional expression>
Separare le assegnazioni multiple nella stessa istruzione mediante virgole e separare le istruzioni multiple mediante un punto e virgola come descritto nella sezione Aggiornamento del tipo di oggetto corrente.
UPDATE [All Links] SET user_text_1 = "text"
viene impostato il campo user_text_1 su testo per tutti gli oggetti di collegamento.
UPDATE node SET user_number_1 = 1 WHERE x > 100000
Imposta il campo user_number_1 su 1 per gli oggetti nodo con coordinata x maggiore di 100000.