InfoWorks WS Pro comprend les mots-clés SQL SET et UPDATE qui permettent de modifier les données réseau à l’aide d’une expression SQL.
Pour en savoir plus sur les mots-clés, voir la rubrique Syntaxe SQL.
Voir les rubriques Exemples SQL pour obtenir des exemples supplémentaires sur l’utilisation de SQL dans InfoWorks WS Pro.
Le mot-clé SET peut être utilisé seul ou conjointement avec une sous-clause WHERE pour mettre à jour le type d’objet choisi dans le champ Type d’objet de la boîte de dialogue SQL.
La syntaxe est la suivante :
SET <assignment>
SET user_text_1 = "text"
définit le champ user_text_1 sur du texte pour tous les objets du type d’objet choisi (sélectionné dans le champ Type d’objet de la boîte de dialogue SQL).
Séparez les affectations multiples d’une même instruction par des virgules, par exemple :
SET user_text_1 = "text", user_number_1 = x
définit le champ user_text_1 sur du texte et le champ user_number_1 sur la valeur du champ x pour tous les objets du type d’objet choisi.
SET <assignment> WHERE <conditional expression>
SET user_number_1 = 1 WHERE x > 100000
définit le champ user_number_1 sur 1 pour tous les objets du type choisi avec une coordonnée x supérieure à 100000.
Séparez les affectations multiples d’une même instruction par des virgules, par exemple
SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000
Définit les champs user_number_1 sur 1 et user_number_2 sur 2 pour tous les objets du type d’objet choisi dont la coordonnée x est supérieure à 100000.
Séparez les instructions multiples par des points-virgules, par exemple
SET user_number_1 = 1, user_number_2 = 2 WHERE x > 100000; SET user_number_3 = 3;
définit user_number_1 sur 1 et user_number_2 sur 2 pour tous les objets du type d’objet choisi avec une coordonnée x supérieure à 100000 et définit user_number 3 sur 3 pour tous les objets du type d’objet choisi.
Pour mettre à jour les valeurs d’un tableau dans un objet :
SET <array name.array fieldname> = <expression>
SET diameter = 300 WHERE diameter_flag = 'CH'; SET length = 10 WHERE length < 10
La première partie définit un diamètre de 300 pour toutes les canalisations pour lesquelles l’indicateur de données sur le diamètre de la canalisation est défini sur « CH ». La deuxième partie fixe une longueur minimale de 10 m pour toutes les canalisations de moins de 10 m de long.
SET user_text_5 = gislayer.AREA
Cette opération définit le champ user_text_5 de tous les nœuds à l’intérieur d’un polygone SIG de la couche SIG « Routes » sur la valeur du champ « AREA » du polygone SIG.
Le mot-clé UPDATE est utilisé conjointement avec les mots-clés SET et WHERE pour mettre à jour les objets d’un ou de plusieurs types. Il ne s’agit pas nécessairement du type sélectionné dans la liste Type d’objet de la boîte de dialogue SQL.
UPDATE <object type> SET <assignment>
UPDATE <object type> SET <assignment> WHERE <conditional expression>
Séparez les affectations multiples d’une même instruction par des virgules et les instructions multiples par des points-virgules, comme décrit dans la section Mise à jour du type d’objet actuel ci-dessus.
UPDATE [All Links] SET user_text_1 = "text"
définit le champ user_text_1 sur du texte pour tous les objets liens.
UPDATE node SET user_number_1 = 1 WHERE x > 100000
définit le champ user_number_1 sur 1 pour les objets nœuds avec une coordonnée x supérieure à 100000.