一:mobilink调用到的存储过程、触发器一定不能用到begin tran,commit tran
二:存储过程导致错误的地方一定要raiserror,例如一个简单的update,需要写成
update ********
if @@error <> 0 **
begin
raiserror errno errmsg
return-1
end 等类似形式
三:对于触发器中当有error出现的时候一定要用 rollback trigger with raiserror errno errmsg
而不能用 raiserror errno errmsg rollback transaction
四:如果在一个存储过程(1)中有调用另外一个存储过程(2)的话,需要判断存储过程(2) 是否执行成功,需要用
exec @errcode = proc_name parm1,parm2
if @errcode <> 0
begin raiserror errno errmsg
return-1
end
而不能用
exec proc_name parm1,parm2
if @@error <> 0
begin raiserror errno errmsg
return-1
end
二:存储过程导致错误的地方一定要raiserror,例如一个简单的update,需要写成
update ********
if @@error <> 0 **
begin
raiserror errno errmsg
return-1
end 等类似形式
三:对于触发器中当有error出现的时候一定要用 rollback trigger with raiserror errno errmsg
而不能用 raiserror errno errmsg rollback transaction
四:如果在一个存储过程(1)中有调用另外一个存储过程(2)的话,需要判断存储过程(2) 是否执行成功,需要用
exec @errcode = proc_name parm1,parm2
if @errcode <> 0
begin raiserror errno errmsg
return-1
end
而不能用
exec proc_name parm1,parm2
if @@error <> 0
begin raiserror errno errmsg
return-1
end