AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Declaración de variables
  • Sintaxis de la declaración: Observaciones
  • Código SQL de la consulta
  • Utilización de [% %] en las consultas SQL
  • Contexto HFSQL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
El tipo "consulta SQL" se utiliza para escribir una consulta SQL en el código WLanguage. La consulta SQL se define y declara. A continuación, puede ser ejecutado por HExecuteQuery o HExecuteSQLQuery.
El uso del tipo "consulta SQL" presenta varias ventajas:
  • Coloración automatic del código SQL en el editor,
  • Entrada asistida de código SQL,
  • Entrada asistida en los elementos de resultados y parámetros de consulta,
  • Errores de compilación:
    • cuando se produce un error en el código SQL
    • cuando se utiliza una posición de salida que no existe.
  • Datos vinculantes sobre la consulta si se declara como global a una ventana,
  • La liberación de automatic al final del alcance de la Variable.
Ejemplo
qryFlightsStat is SQL Query =
[
SELECT * FROM  Flights
WHERE Flights.DepartureAirportID = {ParamDepartureAirportID}
AND Flights.ArrivalAirportID = {ParamArrivalAirportID}
]
qryFlightsStat.ParamDepartureAirportID = 12
qryFlightsStat.ParamArrivalAirportID = 3

HExecuteQuery(qryFlightsStat)
FOR EACH qryFlightsStat
...
END
Sintaxis

Declarar una consulta SQL Ocultar los detalles

<Name SQL query> is SQL Query =
[    
   <SQL code of query>
]
<Name SQL query>:
Nombre de Variable correspondiente a la consulta SQL.
<SQL code of the query>:
El código SQL correspondiente a la consulta SQL asociada a la Variable.
Observaciones

Sintaxis de la declaración: Observaciones

  • La consulta debe definirse en cuanto se declara. No se puede declarar una consulta SQL Variable y luego escribir el código SQL correspondiente después de varias líneas de código.
  • Al declarar variables de consulta SQL, puede lanzar el editor de consultas asistente para escribir el código SQL de la consulta. Basta con seleccionar "Consulta SQL (asistente)".
    El editor de consultas asistente se abre y le permite introducir las opciones de su consulta. Una vez realizados los pasos de la asistente, el código SQL de la consulta se incluye en el código WLanguage.
  • Los archivos de datos utilizados en el FROM de la consulta deben ser declarados en el análisis del proyecto.. No pueden proceder de fuentes de datos inicializadas por un alias, una declaración externa u otra solicitud.
  • La consulta no se puede construir con concatenaciones de cadenas. Para construir una consulta concatenando cadenas, utilice HExecuteSQLQuery.
  • La consulta SQL no se ejecuta durante su declaración. Debe ser ejecutado por HExecuteQuery o HExecuteSQLQuery.
  • Cuando la consulta es declarada y ejecutada, puede ser usada por todas las funciones HFSQL para manejar consultas..
  • Cuando la consulta SQL se declara y se ejecuta, puede utilizarse en otra consulta SQL utilizando el nombre del correspondiente Variable:
    MyInterrogation is SQL Query =
    [
    SELECT * FROM CUSTOMER
    ]
    HExecuteQuery(MyInterrogation)
     
    OtherInterrogation is string = "SELECT * FROM %1"
    OtherInterrogation = StringBuild(OtherInterrogation, MyInterrogation.Name)
     
    QryWithMyInterrogation is Data Source
    HExecuteSQLQuery(QryWithMyInterrogation, OtherInterrogation)

Código SQL de la consulta

  • Este código SQL se escribe beneficios de la coloración sintáctica. Las palabras clave SQL están coloreadas (vea el ejemplo).
  • Completar: La finalización está disponible:
    • para las palabras clave SQL,
    • para los artículos y los archivos de datos,
    • para las posiciones de salida de la consulta.
      La entrada SQL asistida
      La entrada SQL asistida
  • Errores de compilación: En caso de error en el código SQL de la consulta, se produce un error de compilación (como en el caso del código WLanguage)..
    Error de código SQL detectado en la entrada
    Error de código SQL detectado en la entrada
  • Al igual que para una consulta SQL tecleada en el editor de consultas, usted puede:
    • Escriba los comentarios precediéndolos del carácter "--" o "//"..
    • tipo WLanguage funciones. Las funciones WLanguage deben ir precedidas de "WL".. La entrada predictiva está disponible.
      AndroidWidget Android Java No puede ejecutar consultas SQL que contengan funciones WLanguage.
    • ...

Utilización de [% %] en las consultas SQL

Las consultas SQL son compatibles con la nueva sintaxis:
[% variable_name %]

En tiempo de ejecución, el nombre Variable entre caracteres "%" será sustituido por el valor de este Variable.
Ejemplo:
IDOfCustomerToFind is int = xxx
// Search for all the customer orders
AllOrders is SQL Query = [
SELECT * FROM ORDER WHERE CustomerID = [%IDOfCustomerToFind%]
]
HExecuteSQLQuery(AllOrders)
FOR EACH AllOrders
// a customer order
END
Observaciones:
  • Los parámetros se evalúan sólo una vez, cuando se declara la consulta.
  • Por lo tanto, todas las ejecuciones de la consulta (llamadas a HExecuteSQLQuery) utilizarán el valor que tenía Variable en el momento en que se declaró la consulta, incluso si el valor cambia entre dos llamadas a HExecuteSQLQuery.
  • Para pasar parámetros a la consulta en cada llamada:
    • puede utilizar un parámetro de consulta HFSQL "{}".
    • También puede utilizar otra consulta SQL o una fuente de datos "alias" que contenga el alias de un fichero y que se describa mediante un atributo como . Ejemplo:
      CustomerSelection is Data Source <description="Customer">
      // Search for all the customers in the selection for which a condition is true
      FilterCustomer is SQL Query = [
      SELECT * FROM [%CustomerSelection%] WHERE ...
      ]
      HExecuteSQLQuery(FilterCustomer)
      FOR EACH FilterCustomer
      // Customers in the selection that are filtered by the query
      END

Contexto HFSQL

  • Una consulta SQL se define en el contexto actual de HFSQL. Una consulta SQL no puede existir en una ventana con contexto HFSQL independiente.
  • Una consulta SQL puede definirse como una Variable global. En este caso, debe prestar atención a los contextos HFSQL.
Versión mínima requerida
  • Versión 23
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 03/05/2023

Señalar un error o enviar una sugerencia | Ayuda local