FileMaker SQL 错误代码
在 SQL 查询解析或执行期间,对 FileMaker 数据源的 SQL 查询可以返回错误代码和消息。这些错误可以通过 ExecuteSQLe 函数、在 FileMaker Pro 的数据查看器中使用时的 ExecuteSQL 函数以及其他应用程序使用的 FileMaker ODBC/JDBC 客户端驱动程序返回。
错误包括以下格式的信息:
FQLxxxx/(line:offset): message
其中:
-
FQLxxxx是以下错误代码之一 -
line和offset是 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 |
光标缺失。 |