ExecuteSQL
 
Propósito 
Executa uma instrução de consulta SQL para a ocorrência de tabela especificada em um arquivo do FileMaker Pro.
Formato 
ExecuteSQL(consultaSql; separadorDeCampo; separadorDeLinha {; argumentos...})
Parâmetros 
consultaSql - uma instrução SQL SELECT. A instrução pode incluir uma cláusula Union que combina os resultados de duas consultas. A instrução pode conter SQL gerado programaticamente (parâmetros dinâmicos) que indicam onde os argumentos opcionais precisam ser usados na consulta. Use o caractere de ponto de interrogação (?) para especificar um parâmetro dinâmico.
separadorDeCampo - a cadeia de caracteres usada como um separador entre campos no resultado. Se uma cadeia vazia for especificada, o separador será uma vírgula. O separador de campo não é exibido após o último campo no resultado.
separadorDeLinha - a cadeia de caracteres usada como um separador entre registros no resultado. Se uma cadeia vazia for especificada, o separador será um retorno de carro. O separador de linha não é exibido após a última linha no resultado.
argumentos- uma ou mais expressões avaliadas e usadas como valores para os parâmetros dinâmicos na instrução de consulta.
Tipo de dados retornado 
Texto
Originado em 
FileMaker Pro 12.0
Descrição 
ExecuteSQL permite executar instruções SQL SELECT que contêm parâmetros dinâmicos para consultar os bancos de dados do FileMaker Pro com segurança a fim de evitar vulnerabilidades de segurança por meio de ataques de injeção.
ExecuteSQL não reconhece os relacionamentos criados no FileMaker Pro, que proporcionam flexibilidade para definir relacionamentos em instruções SQL e para recuperar dados de qualquer tabela, independente do contexto do layout.
ExecuteSQL não pode ser usado com instruções SQL que modificam dados ou o esquema de banco de dados (como os comandos Inserir em ou Excluir tabela).
Se ocorrer um erro durante a análise ou a execução da consulta, o FileMaker Pro retornará ?.
Notas
 •
 •
 •
 •
 •
Exemplo 1 
Suponha que um banco de dados contenha duas tabelas, Funcionários e Salários, que estão relacionadas por meio do campo EmpID.
Lista que exibe Funcionários e Salários
Nota  Os campos Funcionários::EmpID, Salários::EmpID e Salários::Salário são numéricos.
Você pode usar a função ExecuteSQL para retornar um valor de campo de um registro específico sem alterar o registro atual ou modificar o conjunto encontrado.
ExecuteSQL("SELECT Departamento FROM Funcionários WHERE EmpID = 1") retorna Desenvolvimento, independentemente do registro atual, do conjunto encontrado ou do layout.
Exemplo 2 
Suponha que você queira adicionar um campo à tabela Funcionários para exibir a porcentagem do salário de um funcionário em relação ao total de salário de um departamento. Embora seja possível usar um cálculo no FileMaker Pro para gerar esse valor, você pode usar a função ExecuteSQL para especificar essa consulta usando parâmetros dinâmicos.
Defina um campo de cálculo na tabela Funcionários e use a função ExecuteSQL para especificar a seguinte instrução de consulta:
Round(100 * Salários::Salário / ExecuteSQL("select sum(S.salário) from Employees E join Salários S on E.EmpID = S.EmpID where E.Department = ?"; ""; ""; Funcionários::Departamento); 2)
Em cada registro do funcionário, o campo de cálculo exibe a porcentagem do salário do funcionário em relação à soma dos salários do departamento do funcionário. Por exemplo, o registro com um sobrenome de "Smith" retorna 52,97, e o registro com um sobrenome de "Mehmet" retorna 100.
Tópicos relacionados 
Referência de funções (lista de categorias)
Referência de funções (lista em ordem alfabética)
Sobre fórmulas
Sobre funções
Definição de campos de cálculo
Utilização de operadores em fórmulas