Ejemplo de SQL: validación

SQL se puede utilizar para crear reglas de validación propias y más complejas.

En la red de ejemplo en cuestión, no es válido conectar un objeto de estación de bombeo directamente a otro objeto de estación de bombeo. Esta serie de consultas SQL utiliza el campo definido por el usuario user_number_2 para contar las conexiones a las estaciones de bombeo. Al final, se seleccionará cualquier estación de bombeo que esté conectada directamente a otra estación de bombeo.

Paso Descripción del paso Consulta Imagen de ejemplo

A

Primero, establecemos el valor del campo de usuario en todos los nodos en cero.

Importante: Antes de hacerlo, asegúrese de que el campo que utiliza no contiene información útil.
SQL query context:
  • Tipo de objeto: todos los nodos


SET user_number_2 = 0

B

Ahora se cuentan todas las conexiones a objetos de estación de bombeo incrementando el número en el campo Número de usuario de cada conexión. Tenga en cuenta que el campo Tipo de objeto de esta consulta está establecido en Estación de bombeo.

  • En el cuadro SQL, hay dos consultas SQL separadas por un punto y coma.
  • la sintaxis us_node.user_number_2 / ds_node.user_number_2 permite acceder a los campos de datos del nodo aguas arriba/aguas abajo del objeto activo. Esta es una herramienta muy útil.
  • Las dos consultas SQL añaden uno a los campos de número de usuario de los nodos conectados para indicar que están conectados a una estación de bombeo.
SQL query context:
  • Tipo de objeto: estación de bombeo


SET us_node.user_number_2 = us_node.user_number_2 + 1;
SET ds_node.user_number_2 = ds_node.user_number_2 + 1

C

A continuación, busque todas las estaciones de bombeo que están conectadas a otras estaciones de bombeo. Ahora quedarán seleccionadas.

SQL query context:
  • Tipo de objeto: estación de bombeo


us_node.user_number_2 > 1 OR ds_node.user_number_2 > 1

D

Por último, suprima el recuento de los campos Número de usuario 2, ya que ya no lo necesitamos.

SQL query context:
  • Tipo de objeto: todos los nodos


SET user_number_2 = NULL

E

Las consultas SQL que componen este proceso de validación se pueden colocar en un grupo de consultas almacenadas. A continuación, puede ejecutar todas las consultas del grupo en la red arrastrando y soltando el objeto Grupo de consultas almacenadas en GeoPlan. Las consultas se ejecutan en orden alfabético, por lo que solo es necesario tener cuidado al asignarles un nombre.