Trigger, Stored Procedure Kullanımı ve Referential Integrity

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

SPI_URUN_GIRIS : Bu tanımlama tamamen bizim tercih ettigimiz bir standart. URUN_GIRIS tablosunun Insert triggerindan cagirilan SP anlamına geliyor... 10 yıl sonra bile bunu unutmam ve nerde gorsem tanırım.... :D

Create Procedure komutunun bir standart yapısı var ki o da kabasa soyle:

Kod: Tümünü seç

Create procedure PROCEDURE_ADI(Parametreler.....) 
as 
begin 
....
....
End; 

Kod: Tümünü seç

declare @DLR_KAYIT_SAYISI integer 
Bu tamamen bir değişken tanımlama. Delphi'de kullanacagimiz degiskeni tanımladıgımız gibi...

Kod: Tümünü seç

select @DLR_KAYIT_SAYISI = count(*) from dba.URUN_STOK where URUN_NO = @URUN_NO 
Parametre olarak gelen @URUN_NO ya ait URUN_STOK tablosunda hic kayıt var mı yok mu ona bakılıyor... Yani daha onceden bu urun icin bir kayıt acildiysa o kayıttaki miktar uzerinde oynama yapılacak yani arttirilacak ama eger oyle bir kayıt yoksa bu kayıt ilk defaya mahsus acilacak. Yani aslinda kayıt sayısına bakiliyor ama bu kayıt sayısı zaten ya 0 dir ya da 1 dir... :)
Eger kayıt sayısı 0 ise insert isini yapıyor degilse yapmıyor... Cunku zaten tek bir kayıt var ve ama o tek kayıdın stok miktarını arttirmak....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Bir üye arkadaşımızın uayarısı üzerine makaledeki bir iki hatayı düzelttim ve de örnek veritabanının şemasını ekledim....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla