|
|
|
|
- Sintaxis de la declaración: Observaciones
- Código SQL de la consulta
- Utilización de [% %] en las consultas SQL
- Contexto HFSQL
Consulta SQL (tipo WLanguage)
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.
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 Utilización de [% %] en las consultas SQL Las consultas SQL son compatibles con la nueva sintaxis: 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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|