Forum
Öncelikle ne yapmak istediğimi anlatayım ..
Customer_Career Adında bir tablom var.
ID,CusID,SponsorID,CareerID,PeriodID
Birde Customer_Career_Period adında bir Tablom var
ID,CusID,SponsorID,CareerID,PeriodID,Description,CareerDate
Şimdi müşteri eklendiğinde bu müşterinin sponsor sayısını alıp eğer 15 ise Kariyerini 2 yapıyorum..
Şayet Spoonsorun Kariyeri 2 ise sponsor olduğu kişilerin sayısını alıp bunlardan 2 tanesi 2 ise bu müşterriyi 3 yapmalıyım..
Aşağıdaki kodda ne gibi bir hata var bulamıyorumm ..
ALTER TRIGGER [dbo].[KariyerYap] ON [dbo].[Customer_Career] AFTER INSERT
AS
Declare
@Period int,
@CareerID int,
@SponsorID int,
@CusID int,
@Sonuc int,
---------------------------
@Bronz int,
@Silver int,
@Gold int,
@Platin int,
-----------------
@SpID int,
@CarID int
BEGIN
Select @CusID=CusID,@Period=Period,@SponsorID=SponsorID,@CareerID=CareerID From inserted
Set @SONUC=(Select COUNT(*) from Customer_Career where Period=@Period and CareerID=@CareerID and SponsorID=@SponsorID)
if(@Sonuc = 15)
Begin
Set @CarID=(Select CareerID from Customer where ID=@SponsorID )
Set @SpID= (Select SponsorID From Customer Where ID=@SponsorID)
if(@CarID=1)
Begin
INSERT INTO Customer_Career_Period(CusID,SponsorID,CareerID,Period,CareerDate,Description)
Values(@SponsorID,@SpID,2,@Period,GETDATE(),'* Bronz Oldu')
Update Customer Set CareerID=2 Where ID=@SponsorID
End
End
While(@SpID = 0 )
Begin
Set @SpID= (Select SponsorID From Customer Where ID=@SponsorID)
Set @Bronz = (Select COUNT(*) From Customer_Career_Period Where SponsorID=@SpID And CareerID=2 And Period=@Period)
if(@Bronz = 2 And @Sonuc >= 15)
Begin
Set @SponsorID=(Select SponsorID From Customer Where ID=@SpID)
Update Customer Set CareerID=3 Where ID=@SpID
INSERT INTO Customer_Career_Period(CusID,SponsorID,CareerID,Period,CareerDate,Description)
Values(@SpID,@SponsorID,3,@Period,GETDATE(),'** Silver Oldu')
Set @SpID=(Select SponsorID From Customer Where ID=@SpID)
End
Set @SpID= (Select SponsorID From Customer Where ID=@SponsorID)
Set @Bronz = (Select COUNT(*) From Customer_Career_Period Where SponsorID=@SpID And CareerID=2 And Period=@Period)
if(@Bronz = 3 And @Sonuc >= 20)
Begin
Set @SponsorID=(Select SponsorID From Customer Where ID=@SpID)
Update Customer Set CareerID=4 Where ID=@SpID
INSERT INTO Customer_Career_Period(CusID,SponsorID,CareerID,Period,CareerDate,Description)
Values(@SpID,@SponsorID,@CarID,@Period,GETDATE(),'*** Gold Oldu')
Set @SpID=(Select SponsorID From Customer Where ID=@SpID)
End
Set @SpID= (Select SponsorID From Customer Where ID=@SponsorID)
if @SpID = 0 Break
End
END
http://msdn.microsoft.com/en-us/library/ms165046(v=vs.80).aspx adresinde Trigger'larda Visual Studio ile Debug işleminin nasıl yapılabileceğine dair bilgi bulabilirsiniz.
http://msdn.microsoft.com/en-us/library/yet1b7by(v=vs.80).aspx adresinde de SP'lerde Visual Studio ile Debug işleminin nasıl yapılabileceğine dair bilgi bulabilirsiniz.