简单事务实例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mj_kk/article/details/81163187

 最近在写一个招聘的微信小程序,老板提出,需要一个hr解绑公司功能。

 此项目 微信一键登录,分公司和个人身份,可相互切换,公司和个人拥有一个共同主表,个人信息表(personal),

里面字段有:公司编号(cp_id ) 、登录身份(ps_state)、userid,所以只要获取两个userid,进行操作就行,代码如下:

create proc [storedName](    
@uid int ,   --解绑人userid
@userid int  --交接人userid
)
as
   declare @cp_id int=0 --公司id
   declare @err int=0 --错误代码
  
   begin transaction --开启事务

     select @cp_id=cp_id from  personal where userid=@uid 
	 set @err= @@rowcount --执行完后保存受影响的行数至变量
	
	 --交接人绑定公司
	 update personal set cp_id=@cp_id ,ps_state=1 where userid=@userid 
	 set @err= @@rowcount 

     --解绑人清除绑定
	 update personal set cp_id=0,ps_state=0 where userid=@uid
	 set @err= @@rowcount 	 

	--判断事务的提交或者回滚
	if @err<=0
	begin rollback transaction
       select -1 --设置操作结果错误标识
	end else	
	begin commit transaction	
	   --查询重新绑定后的数据
	   select cp_id,userid,ps_state,(select rs_id from resume where ps_id=per.ps_id ) rs_id from personal per where userid=@userid 
	end

猜你喜欢

转载自blog.csdn.net/Mj_kk/article/details/81163187