を。
サンプルテーブルとデータ:
declare @Users table
(
ID int identity primary key,
Name varchar(10) not null,
CarID int null
);
declare @Cars table
(
ID int identity primary key,
Name varchar(10) not null
);
insert into @Users(Name) values ('User1'),('User2'),('User3');
は、ユーザーごとに1人の世話を追加し、ユーザーに戻って自動生成CarIDを移動します。
declare @ID table(CarID int, UserID int)
merge @Cars as C
using @Users as U
on 0 = 1
when not matched then
insert (Name) values ('CarName')
output inserted.ID, U.ID into @ID;
update U
set CarID = I.CarID
from @Users as U
inner join @ID as I
on U.ID = I.UserID
SE Dataで試してください。
マージ/出力トリックの詳細はhereです。
「最も単純な」方法は、ユーザーを自動車に関連付けるためにシステム生成値を使用するのではなく、データベースの外にある現実世界に存在し、またはVIN。 (あなたの車は名前を持っていますか?おそらくそれらを使用してください:) – onedaywhen
あなたは正しいです。しかし、もし私が聞いていないのであれば、 –