問題タブ [identity-column]
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.
insert - SybaseJDBCは生成されたキーを取得します
Postgresでは、私は書くことができます
挿入中に生成されたすべての値を取得します。Oracle、HSQLDBでは、
生成されたすべての値を取得します。MySQLは少し制限されており、に設定されている列のみを返しますAUTO_INCREMENT
。しかし、Sybase SQL Anywhereでこれをどのように行うことができますか?JDBCドライバーはこれらのメソッドを実装しておらずINSERT .. RETURNING
、Postgresのように句はありません。多分走る以外にそれをする方法はありますか
挿入直後?
sql-server-2008 - ID 列をインクリメントする方法
テーブルの主キーとして ID 列を使用しています。
場合によっては、新しい行を挿入する前に主キーを操作する必要があります。
たとえば、Oracle では : を使用select <sequence_name>.nextval into <variable> from dual
しており、sp の実行中に同じ ID を持つ行を誰も挿入しないと確信していました。
SQL Server に関しては、現在の ID 値を読み取ることができ、それはインクリメントされますが、行を挿入せずにインクリメントする方法はありません。
更新: 問題は、行を挿入する前に SQL Server で ID (ID 列として) を操作し、ストアド プロシージャの最後で ID が一意であることを確認するにはどうすればよいかということです。
更新: HierarchyId 列を含むテーブルがあります。私の場合、階層の最初のレベルを形成する方法は、indentity 列に従って、hierarchyId 列を挿入することです。それが私が今それをやった方法です:
c# - ExecuteStoreCommand は -1 、 EntityFramework 、C# を返しますか?
次の自動インクリメント主キーを取得したいのですが、これを行うために T-SQL を使用することを理解しました。だから私は次の方法を書きました:
ただし、-1 が返されますが、現在は 4 である必要があります。
PS: SQL Management Studio で T-SQL の下で実行すると、4 が返されます
sql - 一時テーブルから複数の ID 列を出力する
私は SQL Server 2K8 を使用しており、主キーが複数のテーブルで一意になるように ID を生成するためだけに使用されるテーブルを持っています。タイプ。
レコードを 1 つずつ挿入する場合、通常は @@IDENTITY を使用して ID を抽出する自動インクリメント ID 列が 1 つしかありません。ただし、バッチで挿入を最適化して実行しようとしていますが、最初にこのテーブルから ID のバッチを生成する必要があります。
また、while ループ/カーソルを使用できることはわかっていますが、SQL バッチ ステートメントを使用してこのテーブルから ID を取得し、実際のテーブルに挿入する前に一時テーブルに設定できるかどうか、行データの一時テーブルが与えられているかどうか疑問に思っていました。テーブル。
ROW_NUMBER() を使用してインデックスを生成し、対応するインデックスを最初のテーブルに入れることができると考えていましたが、進歩しませんでした。どんな助けでも大歓迎です!
sql - @@IDENTITYとトリガーの問題
トリガーとでよく知られている問題があり@@IDENTITY
ます。新しい監査テーブルと、そのテーブルに監査行を挿入するトリガーを作成しました。を使用しているソフトウェアを使用しているため@@IDENTITY
、トリガーが新しい行を挿入したときに生成されたIDとの競合が発生しています。を使用しているコードにアクセスできません@@IDENTITY
。
自分でアイデンティティの価値を生み出すにはどうすればよいかについてのアイデアが必要です。順序が重要なため、GUIDを使用できません。Id列をデフォルト値のdatetime列に置き換えると、GETDATE()
一意になることが保証されますか?
ありがとうございました
sql-server - C#インターネットを介してデータベースインスタンス間でデータを同期する方法
お客様がサイトにSQLサーバーインスタンスを持っていることを要求するアプリケーションがあります。彼らの要求に応じて、アプリケーションはデータベース内のデータをデータセンター内のコピーと同期させる必要があります。
.Net3.5SP1を使用しています。IDENTITY列を含め、データを正確に同期する必要があります。
LINQ to SQLのようなものを使用して、マップされたエンティティに対していくつかの単純なselectおよびinsert/update呼び出しを実行できるようにすることをお勧めします。ただし、IDENTITY列は、LINQおよび同様のアプローチで問題になるようです。
ビルドアップされたSQLステートメントを使用してこれをすべて実行し、必要に応じてIDENTITY INSERTをオン/オフにすることができますが、より洗練されたソリューションをお勧めします。
ありがとう!
**編集-独自のソリューションを作成する必要があり、それを行うには.Net3.5SP1を使用する必要があります。すべての理由を説明することに時間を費やすことはしませんが、提案を.Netプレイグラウンド内のオプションに限定してください。
sql - 作成されたのと同じT-SQLステートメントでIDENTITY値を取得しますか?
「ID」列であるIDフィールドを持つ挿入ステートメントを使用できるかどうか、および割り当てられた値を同じレコードの別のフィールドに同じ挿入ステートメントで挿入できるかどうかを尋ねられました。
これは可能ですか(SQL Server 2008r2)?
ありがとう。
c# - EF 4.1 に ID 列を自動作成させる
あなたが持っていると仮定します
そして、このコンテキスト:
さて、EFにID列を生成するように指示する方法はありますmyASet
か?
ID フィールドを に追加したくないclass A
ので、EF でこれを行うことができるかどうか疑問に思います。どうもありがとう、
ユルゲン
mybatis - @@identity 即時使用
次の MYBATIS ステートメントがあるとします。
carId の値 0 を取得しています。これは、table1 に追加されたばかりのレコードのキーである必要があります。
最近生成された keyValue を取得してすぐに使用するにはどうすればよいですか?
oracle - 既存のストアド プロシージャを使用して、Entity Framework を介して Oracle データベースの ID を生成する
Entity Framework を介して Oracle データベースの ID を自動的に生成する方法は?
コンテキストにない列を呼び出して生成できる関数がありますが、Entity Framework を介してストアド プロシージャを明示的に呼び出すにはどうすればよいですか? リポジトリ パターンを使用しています。
レコードを挿入するための乱数ジェネレーター (UDF を介して主キーを取得し、これを挿入するエンティティに渡します)。