La función executeQuery permite la ejecución de consultas SQL dentro de la funcionalidad de Workprocess.

Esta función no aparecerá en el cuadro de funciones, por la prioridad del uso de scripts al contrario de utilizar SQL de forma directa.

executeQuery("statutoSQL");

 

La función executeQuery puede soportar parámetros adicionales para el estatuto sql y entonces, sería la siguiente sintaxis:

executeQuery("statutoSQL", [variable1, variable2, …]);

Por otro lado, si se necesita parámetros, se deberá añadir el caracter “?” por cada parámetro, como un comodín dentro del query. Este carácter debe usarse sin comillas ya que al momento de realizar la consulta el motor interno de SQL lo reemplaza por los parámetros en el mismo orden que se encuentren definidos.  

Observe el siguiente ejemplo:

El query o consulta debe definirse bajo los estándares de sintaxis soportados por SQL, para facilidad de uso, el query puede almacenarse en una variable por separado. Independientemente de si es colocado dentro de una variable, la sentencia del query siempre va dentro de comillas dobles.  

Observe el siguiente ejemplo:

Los parámetros pueden ser un valor fijo alfanumérico, numérico o un campo de la forma (valor variable). Los parámetros estarán localizados dentro de corchetes y separados por comas. Los valores alfanuméricos deberán colocarse dentro de comillas dobles. Como comentado anteriormente, estos parámetros reemplazarían los comodines (?) colocados dentro del query.

La función executeQuery puede ejecutarse directamente sin necesidad de colocarla en una variable o llamarla, no obstante, si se recomienda guardarla dentro de una variable y después llamarla dentro de una función alert con el fin de realizar una verificación e informar al usuario sobre su ejecución.

En caso de que el query ejecutado sea válido, marcara un valor verdadero, regresará el valor 1. Por otro lado, si el query es inválido será tomado como falso y tendrá un valor de vacio. Consultas que traten principalmente sobre el desplegado de registros como SELECT no son soportadas debido a la manera de operar de la función. Solamente son válidas los estatutos que actualicen datos, por ejemplo:

Consultas SQL válidas, como INSERT, UPDATE y DELETE realizan cambios que pueden ser apreciados directamente desde la vista de la forma.

Las consultas que invoquen un procedimiento almacenado (Stored Procedure), también son válidas para procedimientos ya existentes. Si los procedimientos reciben parámetros, entonces deberá de especificarse de la misma forma descrita arriba.


Alcance y Riesgos

 

La función executeQuery permite la ejecución de una gran cantidad de queries tal como si fuera SQL y eso trae la desventaja de permitir mucha libertad en el manejo de los registros, queda bajo responsabilidad del usuario los cambios que cause en la tabla, así también quedan restringidos los cambios que este pueda hacer según los permisos que tenga otorgados.

Por motivo al proceso de ejecución síncrono de la función, eBavel esperara hasta que termine de realizarse para continuar debido al tiempo de ejecución de las sentencias SQL, lo que implicaría un largo periodo de espera en el caso de consultas complicadas como los Stored Procedures de diseño complejo.

Evite utilizar estatutos SQL que creen objetos o los eliminen en la base de datos, puesto que estarán sujetos a espacio y permisos.