free_rockboy
سه شنبه 27 مرداد 1388, 03:25 صبح
با سلام خدمت دوستان
من يك جدول بانك دارم كه داراي سه فيلد (بانك،مانده حساب،تاريخ) و يك جدول ديگه كه پرداخت هاي بانكي را داخلش ثبت ميكنم و اطلاعات چند بانك داخلشه(بانك،تاريخ،مبلغ چك،باقيماده كنوني حساب).وباقيمانده حساب هر بانك را از جدول اول استخراج ميكنم- ميخوام پس از ثبت چك مبلغ از حساب كم بشه. من اين تريگر را داخل جدول دومي نوشتم .
declare @chek as numeric,@bank as nvarchar(50),@tarikh as nvarchar(50)
select @bank=bank,@tarikh=tarikh,@chek=chek from inserted
update TBANK set baghi=baghi-@chek where bank=@bank
update TBANK set tarikh=@tarikh where bank=@bank
خب من با اين موجودي بانك روپس از ثبت چك تو جدول اصلي بروز ميكنم.
اما سوالم ؟ من موجودي جدول دوم را از جدول اولي ميگيرم با اين تريگر :
declare @bank as nvarchar(50),@tarikh as nvarchar(50),@baghi as numeric
select @bank=bank,@tarikh=tarikh from inserted
select @baghi=baghi from TBANK where tarikh=@tarikh and bank=@bank
update TCHEK set baghi=@baghi where bank=@bank and tarikh=@tarikh
اما بخاطر اينكه تو شرط فقط اسم بانك و تاريخ، چك ميشه ،تو جدولم اگر من مثلا 3 چك از بانك خاصي امروز ثبت كرده باشم با ثبت چك چهارم باقيمانده حساب اون بانك در هر چهار ركورد بروز ميشه.چطور ميشه . چه شرطي بايد بذارم كه فقط فيلد باقيمانده ركورد آخر تغيير كنه؟
من يك جدول بانك دارم كه داراي سه فيلد (بانك،مانده حساب،تاريخ) و يك جدول ديگه كه پرداخت هاي بانكي را داخلش ثبت ميكنم و اطلاعات چند بانك داخلشه(بانك،تاريخ،مبلغ چك،باقيماده كنوني حساب).وباقيمانده حساب هر بانك را از جدول اول استخراج ميكنم- ميخوام پس از ثبت چك مبلغ از حساب كم بشه. من اين تريگر را داخل جدول دومي نوشتم .
declare @chek as numeric,@bank as nvarchar(50),@tarikh as nvarchar(50)
select @bank=bank,@tarikh=tarikh,@chek=chek from inserted
update TBANK set baghi=baghi-@chek where bank=@bank
update TBANK set tarikh=@tarikh where bank=@bank
خب من با اين موجودي بانك روپس از ثبت چك تو جدول اصلي بروز ميكنم.
اما سوالم ؟ من موجودي جدول دوم را از جدول اولي ميگيرم با اين تريگر :
declare @bank as nvarchar(50),@tarikh as nvarchar(50),@baghi as numeric
select @bank=bank,@tarikh=tarikh from inserted
select @baghi=baghi from TBANK where tarikh=@tarikh and bank=@bank
update TCHEK set baghi=@baghi where bank=@bank and tarikh=@tarikh
اما بخاطر اينكه تو شرط فقط اسم بانك و تاريخ، چك ميشه ،تو جدولم اگر من مثلا 3 چك از بانك خاصي امروز ثبت كرده باشم با ثبت چك چهارم باقيمانده حساب اون بانك در هر چهار ركورد بروز ميشه.چطور ميشه . چه شرطي بايد بذارم كه فقط فيلد باقيمانده ركورد آخر تغيير كنه؟