Kod: Tümünü seç
CREATE PROCEDURE SPI_AIDAT_ODEME (
BINA_ADI VARCHAR(40),
DAIRE_NO INTEGER,
KALAN FLOAT)
AS
DECLARE VARIABLE DLR_KAYIT_SAYISI INTEGER;
begin
select count(*)
from DAIRE_DURUM where BINA_ADI =:BINA_ADI and DAIRE_NO=:DAIRE_NO
INTO DLR_KAYIT_SAYISI;
if (DLR_KAYIT_SAYISI=0) then
insert into DAIRE_DURUM(BINA_ADI,DAIRE_NO,BORCU) values(:BINA_ADI,:DAIRE_NO,0);
update DAIRE_DURUM set
BORCU = BORCU+:KALAN where
BINA_ADI = :BINA_ADI and DAIRE_NO=:DAIRE_NO;
End
amacım paket prg. yapmaktı ve sp nin insert, delet veya update esnasında bina adı ve daire no ile işlem yapması idi.
yukarıdaki sp çalışıyor. nasıl çalışıyor bina adı değişince aynı daire no olanları ayırıp işlem yapabiliyor fakat bina adı aynı olunca iş karışıyor ve işlem yapmayıp exception hatası veriyor.
tablolar şöyle
DAİRE BİLGİ
idno
binaadı
daireno
adısoyadı
AİDATODEME
idno
binaadı
daireno
aidattutarı
odenenaidat
BORCODEME
idno
binaadı
daireno
odenentutar
DAİREDURUM
binaadı
daireno
aidattoplamı
od-aidattoplamı
borcu
bu sp yi nasıl düzenlemeliyim ki işlemlerini bina adı ve daire no yu göz önüne alarak yapsın. yani kontrolu iki alan ile yapsın.
şimdilik durumu değiştirip paket prg den çıkardım diğer tek alanlı olarak yapıyorum.
teşekkür ve saygılarımla