問題タブ [scope-identity]
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.
sql - Oracle への挿入と生成されたシーケンス ID の取得
SCOPE_IDENTITY を使用して、INSERT がすべて 1 回の実行で発生した直後に、特定の INSERT に対して生成された ID を取得する SQL Server 用の生の SQL クエリがいくつかあります…</p>
質問は:
Oracle データベースでこれを行う最善の方法は何ですか?
これは、標準 SQL を介して Oracle で実行できますか、またはこれを切り替えてストアド プロシージャを使用し、ストアド プロシージャの本体に同様のものを配置する必要がありますか?
ストアド プロシージャである必要がある場合、最後に生成されたシーケンス番号を取得するための事実上の標準的な方法は何ですか。複数のスレッドで実行が重複する可能性があることを考慮して、このメカニズムは正しい生成された ID を取得し、必ずしも最後に生成された絶対的な ID ではありません。
2 つが同時に実行される場合、それぞれがそれぞれの呼び出しから生成された正しい ID を返す必要があります。呼び出しがマルチスレッド化されているため、SQL Server の「@@IDENTITY」を使用していないことに注意してください。
プラットフォーム間で管理する方がはるかに簡単なので、可能であれば生のSQLとして保持したいと思います(DBMS識別タグで区切られた各プラットフォームのSQLブロックを含む単一のファイル)。ストアド プロシージャは、私が管理するのに少し手間がかかりますが、それが唯一の方法である場合は、そのようにすることもできます。
sql-server - PostgreSQL での nextval と curval の混乱
複数のユーザーが同時に次のクエリを実行するとどうなりますか?
これは、SQL SERVER の SCOPE_IDENTITY() と同じくらい信頼できる方法ですか? どんな提案でも大歓迎です。
sql-server-2008 - SQL コマンドでスコープ ID を使用するには?
スコープ ID を使用するための私の概念を以下に示します。私のコンセプトをサポートするスコープ ID を使用する適切な方法は何ですか?
単一データの場合:
複数のデータの場合:
asp.net - scope_Identity を使用して ID を取得し、セッション変数に格納する
私のコードについて助けが必要です。scope_Identiy を取得して ImageId をセッション変数として保存するにはどうすればよいですか。私は何年もの間これにこだわっていますが、うまくいきません。
編集: SqlDataReader dataReader = cmd.ExecuteReader(); の行からだと思います。ダウンは間違っています。それを修正する方法がわかりません。私はまだこれに慣れていません。
sql-server-2008 - SQL Server Scope_Identity() 使用上の問題
scope_identity() を使用したこのマルチテーブル挿入 (ストアド プロシージャ) が機能しない理由がわかりません。これが要点です (ここでの想像を絶するネーミングを許してください):
TableB の RowID 列は明らかに int であり、ID の自動インクリメントなどとして設定されていません。
管理スタジオで実行すると、1行が影響を受けたと表示されますが、挿入は行われません。
コードから実行すると、TableB の RowID に NULL 値を挿入できないというエラーが表示されますが、これは正しく、null でない制約があります。ただし、最初のテーブルから scope_identity() を取得する必要があります。
トランザクションの内外で、さまざまなパラメーターの初期化を試しました...それは私を殺しています。ご協力いただきありがとうございます。
sql - SQL ID値を取得し、別の列に挿入します
最初のレコードを挿入し、新しいID(自動番号の主キー)を取得して、それをテーブルの別の列に挿入してデフォルト値として機能させるSQLステートメントを作成しようとしています。
これは私がこれまでに持っているものです:
これはそのままでは機能せず、手を使ってシンテックスを修正することができます
sql - 最後に挿入された主キーを返す方法
informix
以下を実行するために、代替または同様のクエリについて質問します。
SCOPE_IDENTITY()
during 挿入ステートメントを返すクエリが必要です
sql - 重複が原因で挿入に失敗した後、IDを選択してください
主キーIDと一意キー名を持つMSSQLServerテーブルがあるとします。また、NameにはIGNORE_DUP_KEYが設定されています。私がやりたいのは、操作の実行の成功に関係なく、名前を挿入してからそのIDを取得することです。つまり、名前が重複していない場合は新しいIDを取得し、重複している場合は既存のIDを取得します。
どうやら、名前を挿入してからIDを選択すると、名前が重複している場合は正しく機能しません(この場合、SCOPE_IDENTITY()などの関数はNULLを返します)。ただし、INSERTは、挿入に失敗したNameのIDをすでに検出しているはずなので、これを簡単に実現する方法があるはずです。したがって、このIDはO(1)時間で使用可能になるはずです。
また、パフォーマンス上の懸念から、サーバーへの2つの別々のリクエスト(挿入と選択)を持つことは私にとってオプションではないことに注意してください。
asp.net - scope_identity で最近の ID を渡そうとしていますが、そのエラー me : 指定されたキャストが無効です
Scope_Identity で挿入したばかりの最近の ID を渡そうとしていますが、奇妙なことがいくつかあります。それは言う:
: 指定されたキャストは無効です
そして次の行を参照してください:
これはコードの残りの部分です:
誰かが手がかりを持っていますか?
ありがとう!
sql - scope_identity() を使用して Identity 値を取得する方法
TRIGGERに実装されたscope_identity()があります。
TRIGGER が発火すると @TempIdentity は Identity 列フィールドを取得し、この値を別のテーブルに設定します。
ただし、TRIGGER が起動された後は常に、@TempIdentity が NULL になります。
TempIdentity が Identity フィールドを取得しないのはなぜですか? コードで何を変更する必要がありますか?