Trigger ve RAISERROR komutu hakkinda

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Trigger ve RAISERROR komutu hakkinda

Mesaj gönderen Glen »

Kod: Tümünü seç

CREATE TRIGGER [denemedelete] ON [dbo].[TEST_MHESAP] 
AFTER INSERT
AS
BEGIN
       declare @x int
       SELECT @x = X FROM INSERTED
       if @x> 10
       BEGIN
              BEGIN
                       DELETE FROM TEST_MHESAP
                       WHERE X = @x
              END
              RAISERROR ('KAYDEDILEMEDI.', 16, 1)
       END
END

Arkada$lar boyle bir deneme triggeri yarattim... MSSQL Kullaniyorum.. Triggerda eger x > 10 ise kaydi otomatikman siliyor ve de bir hata mesaji cikariyor.. Iyı ho$ guzel Enterprise managerdan girdigimde bu hatayi cikartiyor ama..... Delphiden girince hata filan vermiyor .. Trigger tetikleniyor kayit siliniyor ama mesaj delphiye gelmiyor.. Nasil becerebilirim?

Tesekkürler
ylmz
Üye
Mesajlar: 110
Kayıt: 18 Mar 2005 02:32
Konum: Antalya

Mesaj gönderen ylmz »

delphiden post ettiğin yeri try except arasına aldığın için olabilir mi?
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

ylmz yazdı:delphiden post ettiğin yeri try except arasına aldığın için olabilir mi?
try except icine almadan da denedim olmadi
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Exceptionları delphi içinden almak istiyorsanız. Tools/Debugger Options dan
Language Exceptions sekmesine geçip. Stop on Delphi Exceptions ın onay kutusunu kaldırmanız lazım.
Ama bunu yapmadan direk exe yi çalıştırsanız da olur.

Kolay gelsin.
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

ofenX yazdı:Merhaba,
Exceptionları delphi içinden almak istiyorsanız. Tools/Debugger Options dan
Language Exceptions sekmesine geçip. Stop on Delphi Exceptions ın onay kutusunu kaldırmanız lazım.
Ama bunu yapmadan direk exe yi çalıştırsanız da olur.

Kolay gelsin.
sorunu hallettim.. nedense artik cali$iyor :) bu arada bir$ey sormak istiyorum sp'nin icinde mesela bir $art gercekle$mediginde spyi iptal etmesini istiyorum yani iptalden kastim ondan sonraki adimlari gormemesini ve i$lemi gercekle$tirmemesini. nasil becerebilirim?
Kullanıcı avatarı
osmantaskiran
Üye
Mesajlar: 34
Kayıt: 17 Nis 2004 09:27
İletişim:

Mesaj gönderen osmantaskiran »

Sırasıyla;
rollback
return

yaz.
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

osmantaskiran yazdı:Sırasıyla;
rollback
return
yaz.
Teşekkürler. Peki bu olay spyi tekrar mi deniyor yoksa.. Takildigi yerde (bir $artin gercekle$memesi durumunda) iptal mi ediyor.. Bir de

ROLLBACK TRANSACTION koyuyordum sadece... Sadece ROLLBACK yazmak ve Buna RETURN ekliyince farki ne oluyor?

Kafamin kari$masinin nedeni RETURN olayi yani hani geri don gibi bir cagri$im yapiyor yani ondan sordum tekrar mi deniyor diye..

(Bu arada benim istedigim tekrar denememesi tamamen iptal etmesi ve bir sonraki adimlari hic okumamasi) Büyük ihtimalle benim istedigimi gerceklestiriyor ama yine de bi emin olmak icin soriyim dedim..

$imdiden cok Te$ekkürler[/u]
Cevapla