Arkadaslar verıtabanımda bir view olusturdum ve view üzerinde instead of trigger tanımllı.
sorunmu şu;
delphi tarafında bu view e adoquery ile bağlanıyorum. güncelleme yapmaya kalktığım zaman once base (ana) tablolarınun unique indexleri devreye giriyor. once viewde instead of devreye gırmesı gerekmezmı? ben ınstead of trıggerınde gereklı kontrollerıme gore guncellemeyı yanıstıyorum.
"ems sql manager " programı ıle aynı view e guncelleme yapınca once ınstead of trıggerı devreye gırıyor.
mantıken de oyle olmalı.
acaba ado bu konuda sorunlumu? yada yapıması gereken bır ayarmı var?
TRIGGER SORUNU? BİLEN VARMI?
Re: TRIGGER SORUNU? BİLEN VARMI?
http://www.msegitim.net/sql/Trigger.aspxINSTEAD OF : Tablolar ve View’lar üzerinde tanımlanabilir.Eylem gerçekleşmeden önce tetiklenen triggerler için kullanılır.Eğer Bir tablo üzerinde INSTEAD OF trigger’ı tanımlandı ise,ve o tabloya bir kayıt eklenmek isteniyor ise,ekleme işlemi yapılmaz onun yerine trigger tetiklenir.Bu trigger içinde de istersek ekleme işlemini tekrardan yaparız.Eğer bu trigger içinde herhangi bir şey yapmaz isek bu durumda kayıt eklenmeyecektir.Velhasıl kelam ekleme işlemi Trigger’a havale edilmiş olur.
Trigger içinde yapılamıyacak işlemler vardır.Bunlar;
1. Veri tabanı oluşturulamaz,değiştirilemez,silinemez.
2. Her hangi bir table CREATE,ALTER,DROP edilemez.Index CREATE,ALTER,DROP edilemez.
Trigger’lar içinde kullanılmak üzere 2 adet tablo mevcuttur.Bunlar INSERTED ve DELETED tablolarıdır.Trigger hangi tablo için kullanılıyor ise bu tablolar,trigger’ın kullanıldığı tablonun yapısıyla aynıdır.
· Eğer Trigger INSERT işlemi için tanımlandı ise INSERTED tablosunda 1 kayıt varken DELETED tablosunda herhangi bir kayıt yoktur.
· Eğer Trigger DELETE işlemi için tanımlandı ise INSERTED tablosunda hiç kayıt yokken DELETED tablosunda 1 kayıt vardır.
· Eğer Trigger UPDATE işlemi için tanımlandı ise INSERTED 1 kayıt DELETED tablosunda da 1 kayıt olacaktır.
Re: TRIGGER SORUNU? BİLEN VARMI?
kardes tesekkur edrım acıklaman ıcın ama sorunum tam olarak instead of trigger inin devreye gırmemesı ıdı. ama arstırmalarım sonucu cozdum.
veritabanında
seklınde kullaılmalıymıs. ole baglantı nesnelerıne instead of trıgger ıyla ıletısım saglıyormus.
zor oldu cozmek ama basarmakta guzel:)))
veritabanında
Kod: Tümünü seç
CREATE VIEW dbo.xxxx
WITH VIEW_METADATA
AS
...
Kod: Tümünü seç
VIEW_METADATA
zor oldu cozmek ama basarmakta guzel:)))