Bir veritabanının yapısını değiştiriyorum. Finansal Kurum tablosunda yer alan birçok sütunun içeriği, Masa tablosuna taşınmalıdır . Mali Kurum, yabancı bir anahtara sahip Kişi ile bağlantılıdır. Her bir Mali Kurum, ilgili Kişinin kimliğine ihtiyaç duyar. Dolayısıyla, Kişiye eklenen her yeni satır için, bu yeni satırın kimliği (KİMLİK) karşılık gelen Finansal Kurum satırına kopyalanmalıdır.
Bunu yapmanın en açık yolu yinelemeli bir T-SQL kodudur. Ancak bunu yalnızca set tabanlı işlemlerle yapmanın mümkün olup olmadığını bilmekle ilgileniyorum.
Böyle bir isteğin iç düzeyinin şöyle bir şey olacağını hayal ettim:
INSERT INTO Person (Street1, Number1, City1, State1, PostCode1, CountryId1, WorkDirectPhone1, Fax1, Email1)
OUTPUT inserted.Id, FinancialInstitution.Id
SELECT Id, Street, Number, City, [State], PostCode, CountryId, PhoneNumber, Fax, Email
FROM FinancialInstitution;
Ne yazık ki, ÇIKIŞ bu şekilde ilişki kuramıyor gibi görünüyor ...
Person
? Veya mevcut olanları güncellemek? Yoksa içinePerson
ve sonra eklemek ister misinizUPDATE FinancialInstitution
?