insert into select yapısında trigger sorunu

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
loribnaczo54
Üye
Mesajlar: 60
Kayıt: 24 Nis 2006 07:42
Konum: Bahçelievler/İst.

insert into select yapısında trigger sorunu

Mesaj gönderen loribnaczo54 »

s.a
arkadaşlar şöyle bir sorgu ile yedek tablodan güncel tabloya verileri toplu bir şekilde insert edebiliyorum.

Kod: Tümünü seç

 insert into TableName (field1,field2,field3) (select field1,field2, field3 from TableYedek where aktif=1)
 
fakat örneğin 5 kayıt bu sorgu sonucu güncel tabloya insert olsun. burada benim insert trigger ım var ve her insert olan satırın stok bakiyesini hesaplıyor. bu kayıtların teker teker insert oluşunda bir sorun yaratmıyor fakat bu şekilde yapıldığında 5 kayıt içinden sadece herhangi bir tanesinin trigger i çalışıyor. acaba bu gibi durumlarda karşılaşan arkadaşlar olmuşmudur.
acil yardımlarınızı bekliyorum, şimdiden teşekkür ederim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: insert into select yapısında trigger sorunu

Mesaj gönderen aslangeri »

s.a.
bu konu ile ilgili daha önce konuşulmuştu yanlış haırlamıyorsam.
fb de mssql e geçtiniz sanırım. :mrgreen:
fb de triggerler satır bazlı çalışırken mssql de bu şekilde olmuyor.
mssqlde trigerde "inserted" cursorundan insert edilen kayıtları tek tek bulup onlarla ilgili işlemleri yapmanız gerekmektedir.
ilgili bir kaç link
viewtopic.php?f=27&t=24122&hilit=mssql+trigger
viewtopic.php?f=27&t=24070&hilit=mssql+trigger
viewtopic.php?f=27&t=23724&hilit=mssql+trigger
viewtopic.php?f=27&t=4777&hilit=mssql+trigger
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
loribnaczo54
Üye
Mesajlar: 60
Kayıt: 24 Nis 2006 07:42
Konum: Bahçelievler/İst.

Re: insert into select yapısında trigger sorunu

Mesaj gönderen loribnaczo54 »

teşekkür ederim. vermiş olduğunuz linklerdeki örnekler işimi gördü, ama sql in trigger yapısı gerçekten fb ye göre biras karışık. bir yandan böyle diyorum ama diğer yandan da aslında bu şekilde yapılanan bir mekanizma daha güvenilir ve hızlı da olabilir. çünkü fb de örneğin 500 satırlık bir alanı update ettiğiniz 500 kere trigger çalışır. ama anladığım kadarıyla sql bunu bu update olan satırları buluyorsunuz ve cursor tanımlayarak döndürüyorsunuz. bu daha mantıklı bence.
tekrar teşekkürler ilginiz için.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: insert into select yapısında trigger sorunu

Mesaj gönderen aslangeri »

s.a.
fb de trigger 500 kere çalışıyor ama sql serverdada trigerin içnde sen update edilen kayıt sayısı kadar (burda 500 oluyor) bir döngü kurup ilgili kayıtları yakalamaya çalışyıorsun.
muhakkakki artıları ve eksileri vardır. önemli olan müşteri memnuniyeti :D
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
loribnaczo54
Üye
Mesajlar: 60
Kayıt: 24 Nis 2006 07:42
Konum: Bahçelievler/İst.

Re: insert into select yapısında trigger sorunu

Mesaj gönderen loribnaczo54 »

s.a
bu konuştuğumuz konu hakkında yeni bir problem(bana göre) yaşadım ve buraya değilde yeni bir başlık olarak konu açtım. bu konu başlığı tam uyuşmuyor konuşulanlara. search edenler daha rahat bulabilsin istedim. oradaki sorunum hakkında bilgilendirirseniz sevinirim. ilginiz ve alakanız için teşekkür ederim.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: insert into select yapısında trigger sorunu

Mesaj gönderen aslangeri »

s.a.
arkdaşlar önce davranmışlar :D
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
loribnaczo54
Üye
Mesajlar: 60
Kayıt: 24 Nis 2006 07:42
Konum: Bahçelievler/İst.

Re: insert into select yapısında trigger sorunu

Mesaj gönderen loribnaczo54 »

aslangeri yazdı:s.a.
arkdaşlar önce davranmışlar :D
s.a
ilginize teşekkür ederim aslangeri.
Cevapla