2

ID 列を持つ MSSQLServer 2005 データベース テーブルにデータをコピーする必要があります。

実行してID列を無効にする方法を見てきました

SET IDENTITY_INSERT <table> ON

挿入クエリの前。

PreparedStatements を使用してバッチ挿入を実行していて、操作中にステートメントを変更できない場合、どうすればこれを行うことができますか?

4

3 に答える 3

4

@Brabster 数年遅れていますが、似たようなことをする必要がある人には役立つかもしれません。に渡す文字列内で連結ステートメントをidentity_insert on使用して設定できます。offprepareStatement()

myStatement.prepareStatement("SET IDENTITY_INSERT MY_TABLE ON;INSERT INTO MY_TABLE ...;SET IDENTITY_INSERT MY_TABLE OFF");
于 2014-11-21T17:25:35.693 に答える
2

SET IDENTITY_INSERT ON/OFF準備済みステートメントの一部として含めることができます。このようにして、クライアントの観点から 1 つのコマンドのみを実行します。

于 2009-06-15T12:45:43.577 に答える
2

ああ。簡単に、それを理解したと思います。

最初にステートメントを作成し、SET IDENTITY_INSERT ON を実行します。ステートメントを閉じます。

PreparedStatement を作成し、バッチ処理を実行し、準備済みステートメントを閉じます。

ステートメントを作成し、SET IDENTITY_INSERT OFF を実行します。閉じて片付けます。

この問題に関する改善点やアドバイスを歓迎します...

于 2009-06-15T12:27:45.850 に答える