問題タブ [identity-insert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
764 参照

sql - バッチ挿入は障害IDフィールドを返します

1つのIDフィールド(ID)を持つ(tableA)があり、1回の挿入操作で一度に複数の行を挿入する必要があるため、ストアドプロシージャへの受け渡しパラメーターとしてテーブル構造を使用します

挿入されたIDが挿入順序で必要なので、SPで次のクエリを実行しています(tableBはtableAと同じ構造です)。

上記の手順を100レコードで実行すると、tableBに挿入された順序で新しいIDフィールドが返されますが、500レコードで実行すると、挿入されたすべてのIDが合理的な順序で返されません。なぜこれが発生するのでしょうか。

そこに配置して並べ替えて返すために別の一時テーブルは必要ありません。なぜそれが発生するのかを知りたいだけです。並べ替えに追加の一時テーブルを使用せずに解決策はありますか?

0 投票する
6 に答える
23903 参照

c# - IDENTITYINSERTおよびLINQtoSQL

SQLServerデータベースがあります。このデータベースには、Itemというテーブルがあります。アイテムには「ID」というプロパティがあります。IDは私のテーブルの主キーです。この主キーは、増分値が1のintです。レコードを挿入しようとすると、次のようなエラーが表示されます。

IDENTITY_INSERTがOFFに設定されている場合、テーブル'Item'にID列の明示的な値を挿入できません。"

次のコードを使用してレコードを挿入しようとしています。

送信する前にi.IDを見ると、i.IDが0に設定されていることがわかります。これは、IDとして0を挿入しようとしていることを意味します。しかし、どうあるべきかわかりません。誰かが私を助けることができますか?

ありがとう!

0 投票する
4 に答える
140 参照

asp.net - SQL ステートメントに問題がある

これが私の声明です:

私はこれを得る:

キーワード「INTO」付近の構文が正しくありません。スカラー変数「@TopicsID」を宣言する必要があります。スカラー変数「@TopicsID」を宣言する必要があります。

0 投票する
4 に答える
4638 参照

asp.net - ストアド プロシージャ IDENTITY_INSERT

最近データ テーブルを変更しました。列を削除し、ID = True および ID シード = 1、ID 増分 = 1 として定義する新しい列を追加しました。STORE PROCEDURE によってこのテーブルにデータを挿入しようとすると、この例外が発生します。 :

テーブル 'AirConditioner' の ID 列の明示的な値は、列リストが使用され、IDENTITY_INSERT が ON の場合にのみ指定できます。

次の行を追加する必要があることがわかりました: SET IDENTITY_INSERT [dbo].[AirConditioner] ON そして最後に OFF 追加しましたが、それでも例外がスローされます...

私のストア手順は画像として添付されていますここに画像の説明を入力

0 投票する
9 に答える
85589 参照

c# - ID列を含むSqlBulkCopy挿入

このオブジェクトを使用して、SqlBulkCopy生成された数百万行をデータベースに挿入しています。唯一の問題は、挿入先のテーブルにID列があることです。に設定し、ID列を's、およびに設定SqlBulkCopyOptionsしてみました。どれもうまくいきませんでした。誰かが私に素晴らしいことを教えてくれたら、私はかなり単純なものを見逃しているように感じます。ありがとう!SqlBulkCopyOptions.KeepIdentity0DbNull.Valuenull

編集DataTable明確にするために、インポートしているID値が設定されていません。インポートの一部として生成されるようにしたい。

edit2 これがベースSqlBulkCopyオブジェクトの作成に使用するコードです。

0 投票する
3 に答える
2328 参照

sql-server - SETIDENTITY_INSERTを強制的にMSAccessからより速く有効にします

私はMSAccessバックエンドデータベースのスイートをSQLServerにアップサイジングすることに取り組んでいます。SQLのスクリプトを作成して、SQLServerでテーブルスキーマを作成しました。今、私はテーブルにデータを入力しようとしています。ほとんどのテーブルには自動番号付けの主キーがあります。これが私の一般的なアプローチです:

最初の挿入はすぐに行われます。その後の挿入試行は、「IDENTITY_INSERTがOFFに設定されている場合、テーブル'TblName'のID列に明示的な値を挿入できません。」というエラーで失敗します。

その特定のエラーとタイマーのResumeステートメントを追加しました。エラーが正確に600秒(10分)続くことがわかり、その後、挿入は正常に続行されます。

MS AccessはODBCセッションを10分ごとに自動的に更新しますか?それをより速く発生させる方法はありますか? 明らかな何かが欠けていますか?

「アップサイジングウィザードを使用する」とすぐに言いたい人のための背景情報:
操作全体を最初から最後までスクリプト化できる必要があるため、組み込みのアップサイジングウィザードを使用していません。目標は、クライアントの場所でスイッチを実行する前に、これをテスト環境で実行することです。

0 投票する
3 に答える
2981 参照

tsql - ID列と外部キー列を使用してテーブルに挿入します

2つの異なるデータベースの1つのテーブルから別のテーブルに値を挿入しようとしていました。

私の問題は、リレーションを持つ2つのテーブルがあり、最初のテーブルにもID列があることです。

例:テーブルfirst(id、Name)-テーブルsecond(id、address)

したがって、両方のテーブルがデータベース内の値とともに存在し、このデータベースから別のデータベースに値をコピーしようとしています。

したがって、最初のデータベースから2番目のデータベースに値を挿入すると、最初のテーブルがそれ自体でId列の値を挿入するため、そのIDを2番目のテーブルにリンクする必要があります。

どうやってやるの?

MSSQLServer2000を使用した更新

0 投票する
1 に答える
475 参照

sql-server-2008 - Identity_insertのオン/オフ後のSQLServer整合性チェック

レガシーアプリケーション(php + mysql)から書き換えられたバージョン(sql server 2008およびmvc3)にデータをインポートしています。私は現在、db同期/変換パッケージを作成している最中です。

mysqlデータには主キーがありますが、何らかの理由で外部キーがありません。データはまだリレーショナルであるため(外部キーがないにもかかわらず)、変換パッケージはIDENTITY_INSERT ON/OFFを使用しています。ソースデータにはデータの整合性を強制する方法がないため、挿入を実行してIDENTITY_INSERTをOFFにした後、整合性チェックを実行したいと思います。

そのアクションをスクリプト化する良い方法はありますか?できればデータベース全体ではなくテーブルレベルで?

ありがとう。

0 投票する
1 に答える
313 参照

sql - ETL 戦略: ID 挿入と ID ロジックの使用

私の ETL の 1 つは、さらに処理するために、あるサーバーから別のサーバーに約 1800 万行を移動します。オプションを使用していFAST LOADます。

ID 列については、次の 2 つのオプションがあります。

  • 使用するIDENTITY INSERT
  • ID 列に入力を設定しないでください。これにより、SQL Server は挿入された行ごとに新しい IDENTITY を強制的に生成します。

Identity 列の値は重要ではありません。

最高のパフォーマンスを得るには、どのオプションを選択する必要がありますか?