(すみません - 私は StackOverflow と SQL の両方に不慣れです) Tl;dr - @@identity
(または scope_identity や出力変数などの他のオプション) を使用する場合、ビューも使用できますか? を使用したストアド プロシージャの例を次に示します@@identity
。
--SNIP--
DECLARE @AID INT
DECLARE @BID INT
INSERT INTO dbo.A (oct1)
VALUES
(@oct1)
SELECT @AID = @@IDENTITY;
INSERT INTO dbo.B (duo1)
VALUES
(@duo2)
SELECT @BID = @@IDENTITY
INSERT INTO dbo.tblAB (AID, BID)
VALUES
(@AID, @BID)
GO
より長いです:
テーブルに挿入する場合、 を使用して ID シードの現在の値を取得できます@@identity
。これは、テーブル A と B に挿入し、ID 値をキャプチャしてから、A と B を関連付けるテーブル AB に挿入する場合に便利です。明らかに、これはデータの正規化のためです。
データを扱いやすくするために、テーブルで内部結合を実行するいくつかで DB スキーマを抽象化するとします。その場合、どのように相互参照テーブルを適切に設定しますか? 同じ方法で行うことができますか?