Forum
Merhaba kolay gelsin
tsql ile aynı tablolara sahip birden çok db ye aynı kaydı nasıl girebilirim.
use db1
use db2
insert into tabloadı VALUE 'şeklinde denedim olmadı bunu nasıl yapabiliriz. Bi script oluşturabilirmiyim yada c# kodu ile yapmam mümkünmü
Teşekkürler Kolay Gelsin..
Denedim bu şekilde oldu fazladan satır tekrarı yazmış olunacak ama şu an iş görecek sağ olun.
Farklı DB'lerin schema yapıları birbirleri ile aynı ise bir DB üzerinde insert işlemi yaptığınız tabloya bir adet trigger tanımlaması yapacak olursanız çok fazla kod yazmamış olursunuz ve her yapılan insert işlemini farklı DB'lere de taşımış olabilirsiniz..
Evet schema yapıları aynı dediğiniz konuya baktım biraz net bişey bulamadım küçük bi örnek paylaşabilir misiniz Teşekkürler.
Tek bir DB üzerinde 3 Farklı Tablo olduğunu düşünerek bahsettiğim işlemi gerçekleştirdim. Öncelikli olarak yapıdan sizlere bahsedeyim.
TEST isimli bir database'im var. Bunun içerisinde 3 Adet Tablo mevcut. TestTableA, TestTableB, TestTableC
Tablo yapılarında ise ;
TestTableA için : TableAId int Primary Key, TableAName varchar(50)
TestTableB için : TableBId int Primary Key, TableAName varchar(50)
TestTableC için : TableCId int Primary Key, TableAName varchar(50)
Şimdi burada ben TestTableA isimli Tablomu baz alarak bir trigger tanımlaması yaptım. Aşağıda mevcut.
CREATE TRIGGER TRG_InsertOnDiffTable ON TEST.[dbo].[TestTableA]
AFTER INSERT
AS
BEGIN
DECLARE @GelenDeger VARCHAR(100)
SELECT @GelenDeger = TableAName FROM INSERTED
INSERT INTO [TestTableB] ( [TableAName] ) VALUES ( @gelendeger )
INSERT INTO [TestTableC]( [TableAName] ) VALUES ( @gelendeger )
END
GO
Yukarıdaki yazdığımız Trigger'ın çalışıp çalışmadığını test etme için ise aşağıdaki kodları Kullanarak Test işlemini yaptım.
INSERT INTO TEST.[dbo].[TestTableA]([TableAName]) VALUES ('Çağlar Özenç - ' + CONVERT(VARCHAR(10),RAND()*100))
go 10
-- Insert edilen kayıtların kontrolü için select ile tabloları kontrol ediyorum.
SELECT * FROM TEST.[dbo].[TestTableA] -- Asıl Tablo
SELECT * FROM TEST.[dbo].[TestTableB] -- Aynalanan Tablo
SELECT * FROM TEST.[dbo].[TestTableC] -- Aynalanan Tablo