创建触发器的 DDL 脚本(以下来源)失败并出现 2 个错误:
语句失败,SQLSTATE = 42000 动态 SQL 错误 -SQL 错误代码 = -104 - 命令行意外结束 - 第 3 行,第 44 列文件 C:\CRMDemo\Database\DDL\Trigger_Orders.sql 中第 0 行之后 语句失败,SQLSTATE = 42000动态 SQL 错误 -SQL 错误代码 = -104 -Token unknown - 第 1 行,第 1 列 -end 在文件 C:\CRMDemo\Database\DDL\Trigger_Orders.sql 中的第 14 行
(第 3 行,第 44 列看起来可能是结束括号)。我找不到有关错误 42000 或 -104 的任何信息。触发器旨在从确实存在的生成器中分配记录号。此触发器在同一脚本中的 Interbase 中正常工作。我唯一能想到的是,列大小 Integer 对于返回的值是不正确的。但是文档说该值可能会被截断,但应该适用于预期值(1)。
CREATE TRIGGER ORDERS_GENERATE_KEY FOR ORDERS ACTIVE BEFORE INSERT POSITION 95 AS
begin
NEW.ORDER_NR = GEN_ID(NEW_ORDER_NUMBER, 1);
end;
Firebird 是 2.5.2 版,刚刚下载。Windows 7. 数据库应为 32 位。