ID 列を持つ MSSQLServer 2005 データベース テーブルにデータをコピーする必要があります。
実行してID列を無効にする方法を見てきました
SET IDENTITY_INSERT <table> ON
挿入クエリの前。
PreparedStatements を使用してバッチ挿入を実行していて、操作中にステートメントを変更できない場合、どうすればこれを行うことができますか?
ID 列を持つ MSSQLServer 2005 データベース テーブルにデータをコピーする必要があります。
実行してID列を無効にする方法を見てきました
SET IDENTITY_INSERT <table> ON
挿入クエリの前。
PreparedStatements を使用してバッチ挿入を実行していて、操作中にステートメントを変更できない場合、どうすればこれを行うことができますか?
@Brabster 数年遅れていますが、似たようなことをする必要がある人には役立つかもしれません。に渡す文字列内で連結ステートメントをidentity_insert
on
使用して設定できます。off
prepareStatement()
myStatement.prepareStatement("SET IDENTITY_INSERT MY_TABLE ON;INSERT INTO MY_TABLE ...;SET IDENTITY_INSERT MY_TABLE OFF");
SET IDENTITY_INSERT ON/OFF
準備済みステートメントの一部として含めることができます。このようにして、クライアントの観点から 1 つのコマンドのみを実行します。
ああ。簡単に、それを理解したと思います。
最初にステートメントを作成し、SET IDENTITY_INSERT ON を実行します。ステートメントを閉じます。
PreparedStatement を作成し、バッチ処理を実行し、準備済みステートメントを閉じます。
ステートメントを作成し、SET IDENTITY_INSERT OFF を実行します。閉じて片付けます。
この問題に関する改善点やアドバイスを歓迎します...