我有一行查询:
DECLARE VARIABLE var_SecondsOfTime INTEGER;
但在运行查询后,我收到此消息:
引擎错误(代码= 335544569): 动态SQL错误。 SQL错误代码= -104。令牌未知 - 第1行,第9列.VARIABLE。
SQL错误(代码= -104):无效 令牌。
我在互联网上随处可见,所有示例都显示了我正在使用的相同声明风格。
有什么问题?
答案 0 :(得分:4)
Firebird 2.5支持执行由 execute block 语句包围的代码块,试试这个:
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE var_SecondsOfTime INTEGER;
BEGIN
SELECT 1 from RDB$DATABASE into var_SecondsOfTime ;
END
^
set term ^ ;
我发出了select,因为我很确定无法执行空块,请自行尝试删除select。
修改强> 我的原始选择对于块无效,我添加了into子句来收集结果。我从未使用过firebird maestro,但它现在可以在isql上完美运行,如图所示。
答案 1 :(得分:3)
试试这个:
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE var_SecondsOfTime INTEGER;
BEGIN
SELECT 1 from RDB$DATABASE into :var_SecondsOfTime ;
END^
set term ;^
第二组术语需要克拉前的半结肠。