Firebird中包含变量的大脚本

时间:2013-06-06 14:18:29

标签: firebird batch-processing

我需要在Firebird 2.5中运行一个涉及变量的大脚本。

是否可以在不使用EXECUTE BLOCK的情况下执行此操作?

在.NET中,使用FbBatchExecution失败并显示“从连接读取数据时出错”。

在我的SQL Manager客户端中,它失败,“查询文本的大小超过64k限制。客户端库管理将无法继续”。

所以看来EXECUTE BLOCK也受到64kb限制的约束,这对于任何大的都没用。

除了使用临时表之外,有没有办法在大型(甚至非常大)的脚本中声明和使用变量?

1 个答案:

答案 0 :(得分:0)

通过利用(全局)变量并迭代执行sql命令,可以在没有EXECUTE BLOCK的情况下执行此操作。

在Firebird中,您可以使用rdb$set_context('USER_SESSION','VAR_NAME', VALUE)rdb$get_context(...)声明和使用临时会话全局变量(或者事务全局变量)。

但是有一些限制,more details here

相关问题