Sql server 开始和开始的区别…结束

Sql server 开始和开始的区别…结束,sql-server,Sql Server,SQL脚本/存储过程中的“GO”和“BEGIN…END”之间有区别吗?更具体地说,BEGIN…END是否像GO一样指定批处理?GO实际上不是服务器可以理解的命令。它只是客户端工具(例如查询分析器)使用的分隔符,用于将SQL拆分为批。然后,每个批通常分别发送到服务器。客户机工具通常允许您将批处理分隔符配置为您选择的任何类型,GO是一种约定 BEGIN/END是一个块标记,它以大括号在其他语言中使用的相同方式包装一段代码。GO 在批处理中分隔不同的语句(不能在存储过程中使用) 开始。。结束 用于将S

SQL脚本/存储过程中的“GO”和“BEGIN…END”之间有区别吗?更具体地说,BEGIN…END是否像GO一样指定批处理?

GO实际上不是服务器可以理解的命令。它只是客户端工具(例如查询分析器)使用的分隔符,用于将SQL拆分为批。然后,每个批通常分别发送到服务器。客户机工具通常允许您将批处理分隔符配置为您选择的任何类型,GO是一种约定

BEGIN/END是一个块标记,它以大括号在其他语言中使用的相同方式包装一段代码。

GO 在批处理中分隔不同的语句(不能在存储过程中使用)

开始。。结束 用于将SP内的内容分组,如C中的{和}#


无论何时在t-sql中使用if,都可以使用begin和end语句。如果不使用begin和end,则只有If语句之后的下一条语句将作为If的一部分执行,这通常会导致错误。

关于GO的另一个小问题


GOs之间定义的变量仅适用于该区域,不存在于该区域之外。

实际上,您可以在存储过程中使用它,但不会执行任何超过GO的操作,这就是您不希望在存储过程中使用它的原因。
IF x
BEGIN 
   -- do y
   -- do w
END