ورود

View Full Version : روش استفاده از دستور TransAction



mehdad.koulab
یک شنبه 28 شهریور 1389, 10:52 صبح
سلام دوستان
من اين دستور رو استفاده ميكنم اول اينكه Rolback رو نميشناسه بعد هم اصلا كلا ايزاد ميگيره
ببينين من اينجوري نوشتم



create procedure SPT_TBLCDType;4
@code nvarchar(50),
@CD_type nvarchar (50),
@span nvarchar(50),
@f_IDcdtype int
as
begin transaction
insert into TBL_CDtype (Code ,CD_type )
values (@code ,@CD_type )
insert into TBL_span (Span , F_IDcdtype )
values (@span ,@f_IDcdtype)
if @@error = 0 then
commit
else
Rolback
go

behrouzlo
یک شنبه 28 شهریور 1389, 10:58 صبح
شما Rollback را اشتباه تایپ کرد ه اید فقط همین


createprocedure SPT_TBLCDType;4
@code nvarchar(50),
@CD_type nvarchar (50),
@span nvarchar(50),
@f_IDcdtype int
as
begintransaction
insertinto TBL_CDtype(Code ,CD_type )
values (@code ,@CD_type )
insertinto TBL_span(Span , F_IDcdtype )
values (@span ,@f_IDcdtype)
if@@error= 0 then
commit
else
Rollback
go

mehdad.koulab
یک شنبه 28 شهریور 1389, 11:31 صبح
الان هم به then , else ايراد ميگيره اون موقع هم ميگرفت حالا RollBack رو درست شد ولي بازم به اون دوتا گير ميده.

اينم پيغامي كه ميده




Msg 156, Level 15, State 1, Procedure SPT_TBLCDType, Line 16
Incorrect syntax near the keyword 'then'.

behrouzlo
یک شنبه 28 شهریور 1389, 11:38 صبح
ساختار If را اشتباه نوشتید، به شکل زیر اصلاح کنید:


if @@error= 0
Begin
commit
End
else
Begin
Rollback
End
البته نوصیه می کنیم اگر از نسخه 2005 یا بالاتر استفاده می کنید از ساختار Try catch استفاده کنید به جای If