En iyi yanıtlayıcılar
2 Tabloya eş kayıt girilmesi (Stor Procedure)

Soru
-
Merhaba
2 adet tablom mevcut durumda
1.Tabloda
[Cihaz_ID] (Primary Key)
,[Cihaz_Ad]
,[Cihaz_Tur]
,[Cihaz_Adet]
,[Cihaz_Barkod_Numarasi]2.Tabloda
[Cihaz_ID] Foregin Key)
,[Cihaz_Ad]Yapmak istediğim 1.Tabloda girdiğim verilerin 2.tabloya otomatik kayıt olması yani Cihaz adını 1 tabloya girdiğimde 2.tabloda otomatik oluşturması bunun için bir stor procedur örneği varmıdır yada komut yardımcı olursanız sevinirim.
Yanıtlar
-
Bu konuda trigger kullanmanız daha iyi olmaz mı ?
CREATE TRIGGER trEkle ON [tablo_1] AFTER INSERT AS BEGIN declare @cihaz_id int; select @cihaz_id =inserted.Cihaz_IDfrom inserted; insert into tablo_2 (Cihaz_ID) VALUES (@cihaz_id) END GO
bu şekilde bir trigger yazarak tablo_1 e kayıt eklendiğinde tablo_2 ye de otomatik olarak eklenen kaydı alabilrsiniz.
for more informations : http://enderaric.com/ms-sql-triggerlar-sql-tetikleyicileri-s51.html
- Yanıt Olarak İşaretleyen Burak ORDU 17 Mart 2015 Salı 10:05
-
Cozum son derece basit. 2.Tablodaki Cihaz_Ad kolonunu sil. Hic bir koda ihtiyacin yok. "Database Normalization" konusunu okumani tavsiye ederim.
- Yanıt Olarak Öneren Ekrem Önsoy 16 Mart 2015 Pazartesi 12:46
- Yanıt Olarak İşaretleyen Burak ORDU 17 Mart 2015 Salı 10:05
Tüm Yanıtlar
-
Bu konuda trigger kullanmanız daha iyi olmaz mı ?
CREATE TRIGGER trEkle ON [tablo_1] AFTER INSERT AS BEGIN declare @cihaz_id int; select @cihaz_id =inserted.Cihaz_IDfrom inserted; insert into tablo_2 (Cihaz_ID) VALUES (@cihaz_id) END GO
bu şekilde bir trigger yazarak tablo_1 e kayıt eklendiğinde tablo_2 ye de otomatik olarak eklenen kaydı alabilrsiniz.
for more informations : http://enderaric.com/ms-sql-triggerlar-sql-tetikleyicileri-s51.html
- Yanıt Olarak İşaretleyen Burak ORDU 17 Mart 2015 Salı 10:05
-
Sayın Ender Bey bilgi için teşekkür ederim.
Çalıştı :)
- Düzenleyen Test02122563 12 Mart 2015 Perşembe 09:44
-
Sayn Ender Bey bilgi için teşekkür ederim.
Şimdi oluşturdum yanlız kayıt eklediğimde
Cihaz_ID Cihaz_Ad
24 NULL
25 NULLŞeklinde değer alıyorum ki birinci tabloda Sorumlu Personel ismi girilmekte.
Sizce sıkıntı nedir ?
burada sadece Cihaz_ID ekliyorsunuz. kodu aşağıdaki gibi revize ederseniz Cihaz_ad ı da alırsınız.
CREATE TRIGGER trEkle ON [tablo_1] AFTER INSERT AS BEGIN declare @cihaz_id int; declare @cihaz_ad nvarchar(100); select @cihaz_id =inserted.Cihaz_ID ,@cihaz_ad=inserted.Cihaz_Ad from inserted; insert into tablo_2 (Cihaz_ID,Cihaz_Ad) VALUES (@cihaz_id,@cihaz_ad) END GO
-
Cozum son derece basit. 2.Tablodaki Cihaz_Ad kolonunu sil. Hic bir koda ihtiyacin yok. "Database Normalization" konusunu okumani tavsiye ederim.
- Yanıt Olarak Öneren Ekrem Önsoy 16 Mart 2015 Pazartesi 12:46
- Yanıt Olarak İşaretleyen Burak ORDU 17 Mart 2015 Salı 10:05
-
Böyle bir ihtiyacın varsa kesinlikle veritabanı tasarımında sıkıntı var. Çetin Başöz'ün tavsiyesini dinlemeni tavsiye ederim, bu adım seni kısa vadede yavaşlatmış gibi görünebilir, ama orta ve uzun vadede hayatını kurtarır.
Ekrem Önsoy - MCDBA, MCITP:DBA+DBD, MCSD.Net, MCSE, ITILv3 | http://ekremonsoy.blogspot.com