Wod*_*dzu 5 variables firebird declaration firebird2.5
我有一行查询:
DECLARE VARIABLE var_SecondsOfTime INTEGER;
Run Code Online (Sandbox Code Playgroud)
但运行查询后,我收到此消息:
引擎错误(代码= 335544569):动态SQL错误.SQL错误代码= -104.令牌未知 - 第1行,第9列.VARIABLE.
SQL错误(代码= -104):令牌无效.
我在互联网上随处可见,所有的例子都显示了我正在使用的相同的声明风格.
怎么了?
Firebird 2.5 支持执行由执行块语句包围的代码块,试试这个:
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE var_SecondsOfTime INTEGER;
BEGIN
SELECT 1 from RDB$DATABASE into var_SecondsOfTime ;
END
^
set term ; ^
Run Code Online (Sandbox Code Playgroud)
我发出选择是因为我很确定不可能执行一个空块,请自己尝试删除选择。

编辑 我的原始选择对一个块无效,我添加了 into 子句来收集结果。我从未使用过 firebird maestro,但现在它在 isql 上运行良好,如图所示。
小智 5
尝试这个:
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE var_SecondsOfTime INTEGER;
BEGIN
SELECT 1 from RDB$DATABASE into :var_SecondsOfTime ;
END^
set term ;^
Run Code Online (Sandbox Code Playgroud)
第二组术语需要在克拉之前加分号。