1

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

是否可以在不使用 EXECUTE BLOCK 的情况下做到这一点?

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

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

因此,EXECUTE BLOCK 似乎也受到 64kb 限制的限制,这使得它对于任何大的东西都无用。

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

4

1 回答 1

0

您可以在不EXECUTE BLOCK使用(全局)变量和迭代执行 sql 命令的情况下做到这一点。

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

但是有一些限制,更多细节在这里

于 2015-04-22T12:10:30.407 回答