Firebird データベースの kinterbasdb ライブラリを使用して Python から DDL スクリプトを実行する方法はありますか?
基本的に、「isql -i myscript.sql」コマンドを複製したいと思います。
Firebird データベースの kinterbasdb ライブラリを使用して Python から DDL スクリプトを実行する方法はありますか?
基本的に、「isql -i myscript.sql」コマンドを複製したいと思います。
kinterbasdbを使用してからしばらく経ちますが、私が知る限り、INSERT、UPDATE、およびDELETEにも使用できる任意のクエリコマンド(つまり、結果セットを生成するもの)を使用してこれを実行できるはずです。したがって、Connection.execute_immediateとCursor.executeが機能するはずです。
実際に試してみましたか。
ところで:Firebirdでは、1つのトランザクションにDDLとDMLを混在させないことをお勧めします。
編集:
複数のステートメントを含む完全なDDLスクリプトを意味している可能性があることに気づきました。それが意味する場合は、できません。各ステートメントを個別に実行する必要があります。
EXECUTE BLOCKステートメントを使用できる場合もありますが、実際のスクリプトを個々のステートメントに分割する方が簡単になるように、スクリプトを大幅に変更する必要がある場合があります。