Doktor ve İşlem Bazlı Performans Kısıtlaması

Bu tetikleyici, hastane.islemyap tablosuna her bir satır eklendiğinde (BEFORE INSERT) çalışacak şekilde oluşturulmuştur. Tetikleyici, her bir satır üzerinde çalışacak şekilde ayarlanmıştır (FOR EACH ROW). HASTANE.islemyap_hakedis_yok adında oluşturulan bu tetikleyici, islemyap tablosunda yapılan her bir ekleme işlemi öncesinde çalışacaktır.

Tetikleyici, :new.dr ve :new.kodu değişkenlerini kullanarak ilgili satırın değerlerini kontrol eder. Eğer :new.dr değeri 134’e ve :new.kodu değeri 107520 veya 107520’ye eşitse, :new.islem_hakedis_yok alanını ‘T’ olarak ayarlar.

Bu tetikleyici sayesinde, doktor (dr) alanı 134’e ve kodu (kodu) alanı 107520 veya 107520’ye eşit olan işlemler, islem_hakedis_yok alanı ‘T’ olarak ayarlanarak hakedişe yansımayacaktır. Diğer durumlarda ise islem_hakedis_yok alanı otomatik olarak null değerini alır.

				
					/* Formatted on 13/06/2023 10:23:48 (QP5 v5.388) */
    --Kullanılması Gereken AlanlarDROP TRIGGER HASTANE.islemyap_hakedis_yok;
    --ALTER TABLE hastane.islemyap     ADD islem_hakedis_yok VARCHAR2 (1 BYTE); 
    --ALTER TABLE hastane.islemyaptetkik     ADD islem_hakedis_yok VARCHAR2 (1 BYTE);
    --Doktorda kullanılan key değeri hakedis_islem_yok='T'
    
CREATE OR REPLACE TRIGGER HASTANE.islemyap_hakedis_yok
    BEFORE INSERT
    ON hastane.islemyap
    FOR EACH ROW
    ENABLE
DECLARE
BEGIN
    --1 dr ilgili doktorun dradi tablosunda ki dr_kodu
    --Örnek ali şahan dr_kodu=1;
    --Kodu hanesi ilgili doktor ile eşleşen hizmetin islemtipi tablosunda ki kodu alanı
    --bu yapı eşleşen dr ve kodun fatura türü fark etmeksizin hakedise yansımasını engeller


    IF (:new.dr = 134) AND (:new.kodu IN (107520, 107520))
    THEN
        :new.islem_hakedis_yok := 'T';
    END IF;
END;
/

				
			

hakkında admin

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir