Forum
--- iki ayri musteri kodunun satislarini tek bir musteride toplar
set dateformat dmy
declare @lMusteri fisno
declare @lSilinecekMusteri fisno
declare @nMusteriID integer
declare @nSilinecekMusteriID integer
declare @bMusteri1Kontrol integer
declare @bMusteri2Kontrol integer
--**********D İ K K A T **************--
select @lMusteri = 41862 -- Buraya Asıl Müşteri Kodunu Giriniz
select @lSilinecekMusteri = 84507 -- Buraya Silencek Müşteri Kodunu Giriniz
--******************************************--
select @bMusteri1Kontrol = 0
select @bMusteri2Kontrol = 0
if exists (select nMusteriID from tbMusteri where lKodu = @lMusteri )
begin
select @bMusteri1Kontrol = 1
end
else
begin
print str(@lMusteri) + ' Nolu Musteri Bulunamadi!!!'
end
if exists (select nMusteriID from tbMusteri where lKodu = @lSilinecekMusteri )
begin
select @bMusteri2Kontrol = 1
end
else
begin
print str(@lSilinecekMusteri) + ' Nolu Silinecek Musteri Bulunamadi!!!'
end
if (@bMusteri1Kontrol = 1) AND (@bMusteri2Kontrol = 1) and (@lMusteri <> 0) and (@lSilinecekMusteri <> 0)
begin
select @nMusteriID = nMusteriID from tbMusteri where lkodu = @lMusteri
select @nSilinecekMusteriID = nMusteriID from tbMusteri where lkodu = @lSilinecekMusteri
update tbAlisveris set nMusteriID = @nMusteriID where nMusteriID = @nSilinecekMusteriID
update tbStokFisiDetayi set nMusteriID = @nMusteriID where nMusteriID = @nSilinecekMusteriID
update tbAVIndirimKuponu set nMusteriID = @nMusteriID where nMusteriID = @nSilinecekMusteriID
update tbUrunServisDestek set nVerenMusteriID = @nMusteriID where nVerenMusteriID = @nSilinecekMusteriID
update tbServisFormu set nMusteriID = @nMusteriID where nMusteriID = @nSilinecekMusteriID
--update tbAlisverisSiparis set nMusteriID = @nMusteriID where nMusteriID = @nSilinecekMusteriID
delete tbMusteriSinifi where nMusteriID = @nSilinecekMusteriID
delete tbMusteriNufusu where nMusteriID = @nSilinecekMusteriID
delete tbKefil1Nufusu where nMusteriID = @nSilinecekMusteriID
delete tbKefil2Nufusu where nMusteriID = @nSilinecekMusteriID
delete tbMusteriKefil1 where nMusteriID = @nSilinecekMusteriID
delete tbMusteriKefil2 where nMusteriID = @nSilinecekMusteriID
delete tbMusteriKredisi where nMusteriID = @nSilinecekMusteriID
delete tbMusteriKarti where nMusteriID = @nSilinecekMusteriID
delete tbMusteriEkKart where nMusteriID = @nSilinecekMusteriID
delete tbMusteriOzelNot where nMusteriID = @nSilinecekMusteriID
delete tbMusteriCocugu where nMusteriID = @nSilinecekMusteriID
delete tbMusteriPara where nMusteriID = @nSilinecekMusteriID
delete tbMusteri where nMusteriID = @nSilinecekMusteriID
delete tbMusteriPara where nMusteriID = @nMusteriID
insert tbMusteriPara
select MusteriID , sum(Tutar)
from (
select tbAlisveris.nMusteriID as MusteriID,
case tbAVHediyeCeki.sHediyeCekiTipi when 'ParaPU_KAZ' then case tbAlisveris.nGirisCikis when 3 then tbAVHediyeCeki.lTutar
when 4 then tbAVHediyeCeki.lTutar * -1 end
when 'ParaPU_HAR' then tbAVHediyeCeki.lTutar * -1 end as Tutar
from tbAlisveris , tbAVHediyeCeki
where tbAlisveris.nMusteriID = @nMusteriID and
tbAlisveris.nAlisverisID = tbAVHediyeCeki.nAlisverisID and
( tbAVHediyeCeki.sHediyeCekiTipi = 'ParaPU_KAZ' or tbAVHediyeCeki.sHediyeCekiTipi = 'ParaPU_HAR' )
group by tbAlisveris.nMusteriID , tbAVHediyeCeki.sHediyeCekiTipi , tbAVHediyeCeki.lTutar , tbAlisveris.nGirisCikis
) as TempPara
group by TempPara.MusteriID
end
else
begin
print 'İŞLEM GERÇEKLEŞTİRİLEMEDİ!!! İŞLEMİN GERÇEKLEŞTİRİLMESİ İÇİN HER İKİ MÜŞTERİ KODUNUN DA VERİ TABANINDA BULUMASI GEREKIYOR'
end
bu cümleciği kullandıktan sonra silmek istediğim hesapta müşteri sınıfı bulunamadı hatası alıyorum..
update tbalisveris set lFaturaNo='1' where sFisTipi='PAD' and nMusteriID= ( select nMusteriID from tbmusteri where lKodu = @lSilinecekMusteri )