1

Firebird 2.5 で変数を含む大きなスクリプトを実行する必要があります。

EXECUTE BLOCKを使わずにこれを行うことは可能ですか?

.NET では、FbBatchExecution を使用すると、「接続からのデータ読み取りエラー」で失敗します。

私の SQL Manager クライアントでは、「クエリ テキストのサイズが 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 に答える