FileMaker SQL 错误代码

在 SQL 查询解析或执行期间,对 FileMaker 数据源的 SQL 查询可以返回错误代码和消息。这些错误可以通过 ExecuteSQLe 函数、在 FileMaker Pro 的数据查看器中使用时的 ExecuteSQL 函数以及其他应用程序使用的 FileMaker ODBC/JDBC 客户端驱动程序返回。

错误包括以下格式的信息:

FQLxxxx/(line:offset): message

其中:

  • FQLxxxx 是以下错误代码之一

  • lineoffset 是 SQL 查询参数中错误开始字符的行号和偏移量

  • message 是对错误的描述

一次只返回一个错误。如果存在多个错误,则在当前错误解决后返回另一个错误。

错误代码 消息

FQL0001

查询语法中出现错误。

FQL0002

名为“<name>”的表不存在。

FQL0003

名为“<name>”的表已存在于此查询中。

FQL0004

这个查询太复杂了。超过了最大表数量。

FQL0005

不支持涉及聚合的表达式。

FQL0006

名为“<name>”的列出现在列引用范围内的多个表中。

FQL0007

名为“<name>”的列不存在于列引用范围内的任何表中。

FQL0008

名为“<name>”的表不存在于列引用的范围内。

FQL0009

表“<name>”中不存在于名为“<name>”的列中。

FQL0010

文字值“<name>”不是有效的日期、时间或时间戳。

FQL0011

谓词必须包含逻辑运算(=, <, OR, AND, IS NULL, ...)。

FQL0012

ORDER BY 子句中的序数引用“<name>”无效。

FQL0013

分配中不兼容的类型。

FQL0014

VALUES 行值构造函数中的值数与目标中的值数不匹配。

FQL0015

INSERT...SELECT 语句中的值数与目标中的值数不匹配。

FQL0016

子查询包含对 INSERT 目标表中列的非法外部引用。

FQL0017

表达式包含无法比较的数据类型。

FQL0018

表达式包含不兼容的数据类型。

FQL0019

无法推断 CASE 表达式的结果数据类型;它们都是 NULL。

FQL0020

向函数“<name>”提供了无效数量的参数

FQL0021

函数“<name>”的参数编号<name>不是正确的类型。

FQL0022

子查询表达式必须在 SELECT 列表中正好有一个值。

FQL0023

CAST 表达式请求无效的数据类型转换。

FQL0024

如果查询中存在多个表,则必须限定 ROWID 的引用。

FQL0025

SELECT 列表和 HAFING 子句中的所有非聚合列引用必须在 GROUP BY 子句中。

FQL0026

UNION 操作的两个输入中的列数必须相同。

FQL0027

UNION 操作输入中相应列的数据类型必须相同。

FQL0028

字段重复必须是数字,介于 1 和<name>之间。

FQL0029

UPDATE 语句的 SET 子句中的字段重复必须是常量。

FQL0030

“<name>”是一个无效的函数。

FQL0031

在此上下文中无法推断参数的类型。至少一个查询参数必须是表达式、列或常量。

FQL0032

查询可能包含命名参数或动态参数,但不能同时包含两者。

FQL0033

FROM 子句子查询中的列名必须是唯一的。

FQL0034

FROM 子句子查询中的输出列数必须与表名称列表中的列数相匹配。

FQL0035

未为此查询启用光标支持。

FQL0036

名为“<name>”的光标已存在。

FQL0037

没有名为“<name>”的光标。

FQL0038

光标“<name>”已打开。

FQL0039

光标“<name>”未打开。

FQL0040

目标光标“<name>”不引用对 WHERE CURRENT OF <cursor>有效的查询。

FQL0041

目标光标“<name>”不引用与当前语句相同的表。

FQL0042

列“<name>”的默认值与列的数据类型不匹配。

FQL0043

字符串“<name>”不是有效的流名称。

FQL0044

列“<name>”在此上下文中无效。GETAS 和 PUTAS 的目标必须是容器字段。

FQL0045

值<name>不是有效的二进制字符串。

FQL0046

UNION DISTINCT 查询中不允许使用容器字段。

FQL0047

数据库架构已更改。这个准备好的查询不再有效。

FQL0048

此语句包含对 FileMaker 系统表“<name>”的无效操作。

FQL0049

WHERE 子句中不允许使用聚合表达式。

FQL0050

OFFSET 子句中的偏移计数无效。

FQL0051

如果没有相应的 ORDER BY 子句,不允许使用 FETCH ... WITH TIES 子句。

FQL0052

FETCH 子句中的提取计数无效。

FQL0053

光标已打开。

FQL0054

光标未打开。

FQL0055

已声明该光标。

FQL0056

光标缺失。