問題タブ [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.

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

sql-server - Insert Into/Select から ID を取得する

SQL Server 2012 で (クラシック ASP ページのバックエンドとして) スクリプトを作成して、最初のテーブル ( ) からすべての行を選択し、それらを他の 3 つのテーブル ( 、、および)aaa_test_apに分配しています。 aaa_test_usersaaa_test_users_positionsaaa_test_users_education

aaa_test_users.ID行が挿入されたら、User_ID同じクエリ内で、他の 2 つのテーブル挿入で FK ( ) として使用するために、 の ID を取得したいと考えています。

INSERT INTO1 つのクエリ内 で、メソッドを使用して ID を取得することは可能ですか?

を使用してみましSCOPE_Identity()たが、最後の値しか返されません。

このOUTPUTメソッドでは、最初の挿入ステートメントによって生成された値が次の 2 つのステートメントに挿入され、それぞれ正しい挿入行に挿入されるように、生成されたテーブル値をどのように利用すればよいでしょうか?

まず、テーブル:

これは私が取り組んできたクエリです:

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

sql-server - ColdFusion コードがクエリで SCOPE_IDENTITY() を使用していないにもかかわらず、SQL Server Profiler が SCOPE_IDENTITY() を表示している

SQL Server 2008 R2 Profiler を使用して、ColdFusion 7 アプリケーション (他の誰かが開発したもの) の問題をデバッグしています。これは、SQL Server 2008 R2 をバックエンドとして Windows 7 で実行しています。このアプリケーションは、もともと MS Access 2003 をバックエンドとして使用していましたが、後に SQL Server 2008 R2 に変換されました。プロファイラーは、SCOPE_IDENTITY() を使用している次の SQL を表示していますが、検索ユーティリティを使用してアプリケーションのルート ディレクトリを検索すると、SQL クエリのどこにも SCOPE_IDENTITY() 関数が使用されているファイルがありません。アプリの SQL Server データベースには、ストアド プロシージャ、ビュー、関数などはありません。すべての SQL クエリは、ColdFusion ファイル内に埋め込まれたクエリです。次に、プロファイラーが SCOPE_IDENTITY() 関数を取得する場所:

更新 もともとアプリは CF 7 で開発されましたが、CF 7 は後で CF9 にアップグレードされ、現在は CF 11 を搭載したローカル マシンでデバッグしています。CF 7 が置き換えられたときにコードもアップグレードされたかどうかはわかりません。 CF 8、そしてCF 9で。プロファイラーで上記のSQLを生成すると思われるCFqueryは次のようになります。さらに、テーブル ProductItems には ID 列があり、データベースはトリガーを使用しておらず、CFquery タグは結果属性を使用していません。

0 投票する
2 に答える
54 参照

sql - 複数の scope_identities をデイジー チェーン接続しますか?

4 つのテーブルがあり、あるテーブルから次のテーブルに新しく挿入された pk を使用したいとします (これはすべて 1 つのバッチとして実行されます)。

これは可能ですか?

ありがとう

0 投票する
2 に答える
1706 参照

tsql - ID 値を別のテーブルに挿入する方法

私は2つのテーブルを持っています:

それでは、Clients ('Ralph', 00000000) に挿入してみましょう。id_client は (明らかに) 1 になります。問題は、その 1 を Sales に挿入するにはどうすればよいかということです。

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

sql - 出力で SCOPE_IDENTITY() を使用する場合の一貫性

テーブルに追加された行の現在の ID ID を返す SQL クエリを実行したいと考えています。

今私の質問は、現在挿入されている行の返された ID ですか、それとも最後に挿入された行の ID ですか?

つまり、外部キーとして使用するために信頼できますか?

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

c# - SQL と C# を使用して、表 1 の PK を表 2 の FK として使用 - select_identity() で中断、オブジェクトを DBNull から他の型にキャストできない

C# と SQL の初心者はこちら。table1の主キーを外部キーとして使用する 2 つのテーブルがありtable2ます。ID を取得するために、私は使用してSELECT MAXおり、すべてが必要に応じて機能します (以下のコード):

SCOPE_IDENTITY()しかし、同僚は代わりにを使うべきだと言っていますSELECT MAX。なぜそれを使用する必要があるのか​​ (複数のユーザーの場合など)は理解していますが、SELECT MAXそれを置き換えた後、エラーが発生します:

オブジェクトを DBNull から他の型にキャストすることはできません。

私のデータベースでは、PK と FK のデータ型は int で、Null は許可されておらず、SELECT MAXそのままで機能します。それで、私はここで何が間違っていますか?

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

sql - Scope_Identity() は常に 0 を返します

次のストアド プロシージャは、新しい行を正しく挿入しますが、出力パラメーターに対して常に 0 を返します。新しい行 ID を返すものは何ですか?

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

sql-server - トリガー内の挿入の ID を取得する

SQL Server 2008 に TableA と TableB があります。

TableA には、INSERT と UPDATE の後に起動するトリガーがあります。トリガーで、TableB に挿入するので、TableB から挿入された ID を取得するにはどうすればよいですか? FROM INSERTED は TableA のレコードの情報を持っていますか?

同じセッションで tableA に 100 または 1000 の挿入を送信するとします。@@identity または scope_identity() (私は最後に行きます) を使用して b 挿入の ID を取得できますか? そして、トリガーが発射されるたびにトリガーのすべての機能を完了する時間を考慮して、この2つの機能のいずれかを使用することがどれほど便利で安全か