SQL语句中的GO

以前写SQL语句基本没有用GO,在做修改表的工具中,我拷贝系统中带GO的SQL语句,结果,造成表被删除

SET IDENTITY_INSERT dbo.Tmp_DirAccessPermission ON  --此处出错
GO
IF (@@ERROR<>0)
BEGIN
  RETURN  --本想完全退出
END
……
GO  --但这个GO,就把前面一段提交给服务器
DROP TABLE dbo.DirAccessPermission  --造成本句执行了
GO
后来测试一下,有GO与没GO区别蛮大的

IF (1=1)
BEGIN
  print 'OK1'
  return
END
GO  --这里可以看出有GO没GO的区别
print 'OK2'
GO

原文地址:https://www.cnblogs.com/yzx99/p/1373384.html