已经告诉你缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句if exists (SELECT  * FROM  Counter_IP WHERE  IP = @IP )
begin
begin tran
...
if @@error!=0--这里要提交或回滚
begin
rollback
end
else
begin
commit
end
end
else
  begin
...
end