ExecuteSQL
 
Propósito 
Ejecuta una secuencia de consulta SQL para la ocurrencia de la tabla especificada en la base de datos de FileMaker Pro.
Formato 
ExecuteSQL(consultaSql; separadorCampo; separadorFila {; argumentos...})
Parámetros 
consultaSql: una secuencia SQL SELECT. La secuencia puede incluirse en una cláusula Union que combine los resultados de dos consultas. La secuencia puede incluir parámetros (dinámicos) SQL generados mediante programación que indiquen en qué parte de la consulta se utilizarán los argumentos opcionales. Utilice el carácter de signo de interrogación (?) para especificar un parámetro dinámico.
separadorCampo: la cadena de caracteres utilizada como separador entre los campos incluidos en los resultados. Si se especifica una cadena vacía, el separador será una coma. El separador de campo no se muestra tras el último campo de los resultados.
separadorFila: la cadena de caracteres utilizada como separador entre los registros incluidos en los resultados. Si se especifica una cadena vacía, el separador será un retorno de carro. El separador de fila no se muestra tras la última fila de los resultados.
argumentos: una o varias expresiones que se evalúan y utilizan como valores de los parámetros dinámicos en la secuencia de consulta.
Tipo de datos devuelto 
texto
Se origina en 
FileMaker Pro 12.0
Descripción 
ExecuteSQL permite ejecutar secuencias SQL SELECT que contienen parámetros dinámicos para realizar una consulta de forma segura en las bases de datos de FileMaker Pro a fin de evitar las vulnerabilidades de seguridad debido a ataques de introducción de código.
ExecuteSQL no reconoce las relaciones creadas en FileMaker Pro, lo que le ofrece la flexibilidad de definir relaciones en secuencias SQL y recuperar datos de cualquier tabla independientemente del contexto de la presentación.
ExecuteSQL no se puede utilizar con secuencias SQL que modifiquen datos o el esquema de la base de datos (como, por ejemplo, los comandos Insertar en o Eliminar tabla).
Si se produce un error durante el análisis o la ejecución de la consulta, FileMaker Pro devuelve ?.
Notas
 •
 •
 •
 •
 •
Ejemplo 1 
Imagine que una base de datos contiene dos tablas, Empleados y Salarios, que están relacionadas mediante el campo IDEmp.
Lista que muestra Empleados y Salarios
Nota  Los campos Empleados::IDEmp, Salarios::IDEmp y Salarios::Salario son numéricos.
Puede ejecutar la función ExecuteSQL para devolver un valor de campo de un registro específico sin modificar el registro actual o el conjunto encontrado.
ExecuteSQL("SELECT Departamento FROM Empleados WHERE IDEmp = 1") devuelve Desarrollo, independientemente del registro, el conjunto encontrado o la presentación actuales.
Ejemplo 2 
Imagine que desea añadir un campo a la tabla Empleados para mostrar el porcentaje del salario de un empleado en relación con el total de los salarios de un departamento. Aunque podría utilizar un cálculo en FileMaker Pro para generar este valor, puede usar la función ExecuteSQL para especificar esta consulta mediante parámetros dinámicos.
Defina un campo de cálculo en la tabla Empleados y, a continuación, utilice la función ExecuteSQL para especificar la siguiente secuencia de consulta:
Round(100 * Salarios::Salario / ExecuteSQL("select sum(S.salario) from Empleados E join Salarios S on E.EmpID = S.EmpID where E.Departamento = ?"; ""; ""; Empleados::Departamento)
En cada registro de empleado, el campo de cálculo muestra el porcentaje del salario del empleado en relación con la suma de salarios del departamento del empleado. Por ejemplo, el registro con el apellido "Smith" devuelve 52,97 y el registro con el apellido "Mehmet" devuelve 100.
Temas relacionados 
Referencia de funciones (lista de categorías)
Referencia de funciones (orden alfabético)
Acerca de las fórmulas
Notas acerca de las funciones
Definir campos de cálculo
Operadores en fórmulas