DDL脚本创建触发器(下文源)失败2个错误:DDL创建触发器脚本失败
声明失败,SQLSTATE = 42000 动态SQL错误 -SQL错误代码= -104 - 命令意外结束 - 线3,列44 在文件C线0后:\ CRMDemo \数据库\ DDL \ Trigger_Orders.sql 声明失败,SQLSTATE = 42000 动态SQL错误 -SQL错误代码= -104 -Token未知 - 第1行第1列 -end 在文件第14行C:\ CRMDemo \ Database \ DDL \ Trigger_Orders.sql
(第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是ver 2.5.2,刚下载。 Windows 7.数据库应该是32位。
你用什么工具来执行该语句? –
就像背景信息:SQLState 42000是SQL:2003标准中定义的非常通用的错误'语法错误或访问规则违规'。错误-104是通用或语法错误的firebird等效项(Interbase 6.0语言参考(第205-206页)的表6.4列出了与该错误代码有关的约15个错误)。结合消息'令牌未知'(firebird error 335544634),这意味着代码中存在语法错误。 –