SQL Server iki tablo eklemek mümkün aynı zamanda.
Benim veritabanında üç Tablo Object_Table
, Data_Table
Link_Table
denilen içerir. Bağlantı tablo sadece iki sütun, nesne bir kayıt kimliği ve veri kaydının bir kimlik içerir.
Data_Table
ve farklı belirli bir nesne kimliği için Link_Table
içine nesne kimlik ve Ekle ilgili kayıtları verilen bağlantılı olduğu DATA_TABLE
verileri kopyalamak istiyorum.
Benolabilirbir tabloya değişken ve her yineleme için iki ekler yaparak döngü seçerek bunu.
Bu en iyi yolu yapmaktır?
Editİstediğim önlemek için bir döngü için iki nedeni, ilk ben tembel ve bir döngü/temp tablo gerektirir, daha fazla kod, daha fazla kod anlamına gelir daha fazla yerlerde bir hata ve ikinci nedeni, bir endişe hakkında performans.
Bir Ekle tüm verileri ama nasıl bağlantı tablosundaki her kayıt yeni bir kimliği olan yeni veri kayıtları bağlamak için alabilirim? kopyalayabilirim.
CEVAP
BiraçıklamaHayır.
BirişlemEvet
BEGIN TRANSACTION
DECLARE @DataID int;
INSERT INTO DataTable (Column1 ...) VALUES (....);
SELECT @DataID = scope_identity();
INSERT INTO LinkTable VALUES (@ObjectID, @DataID);
COMMIT
İyi haber şu yukarıdaki kodu da olması sağlanıratomeğer bir ifade olsaydı , ve bir istemciden sunucuya gönderilen tek bir işlev çağrısında bir sql string ile uygulama. Ayrıca bir tablo için bir tetikleyici tek bir ekleme etkisi elde etmek için uygulanır. Ancak, sonuçta yine iki ifade ve muhtemelen tetikleyicisi çalıştırmak istemiyorumherEkle.
Bir SQLite veritabanı aynı anda birden...
SQL Server Management Studio't ka...
Nasıl/NVARCHAR dize eklemek bir SQL Se...
Arsa iki matplotlib ile aynı zamanda h...
Aynı kütüphane statik ve paylaşılan bi...