Friday, February 16, 2007

Sample NETSIS Database Trigger ON TBLCAHAR

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [UPTR_CAHARU] ON [dbo].[TBLCAHAR]
FOR UPDATE
AS
BEGIN
DECLARE @SUBE_KODU TDBSMALLINT
DECLARE @CARI_KOD TDBCARIKOD
DECLARE @BELGE_NO TDBBELGENO
DECLARE @BORC TDBFLOAT
DECLARE @ALACAK TDBFLOAT
DECLARE @ENT_REF_KEY TDBENTKEY
DECLARE TBLCAHARU CURSOR FOR SELECT SUBE_KODU,CARI_KOD, BELGE_NO, ENT_REF_KEY, BORC, ALACAK FROM INSERTED WHERE CARI_KOD LIKE '20%' AND LEN(CARI_KOD)=11
OPEN TBLCAHARU
FETCH NEXT FROM TBLCAHARU INTO @SUBE_KODU, @CARI_KOD, @BELGE_NO, @ENT_REF_KEY, @BORC, @ALACAK
WHILE @@FETCH_STATUS<>-1
BEGIN
IF EXISTS (select * from TBLCAHAR where SUBE_KODU = @SUBE_KODU AND CARI_KOD= @CARI_KOD AND BELGE_NO=@BELGE_NO AND ENT_REF_KEY = @ENT_REF_KEY)
BEGIN --KAYIT VARSA
UPDATE TBLCAHAR SET BORC=@BORC, ALACAK=@ALACAK
WHERE SUBE_KODU = @SUBE_KODU AND CARI_KOD= @CARI_KOD AND BELGE_NO=@BELGE_NO AND ENT_REF_KEY = @ENT_REF_KEY
END
FETCH NEXT FROM TBLCAHARU INTO @SUBE_KODU, @CARI_KOD, @BELGE_NO, @ENT_REF_KEY, @BORC, @ALACAK
END
CLOSE TBLCAHARU
DEALLOCATE TBLCAHARU
END

No comments: