看来楼上的几个自己估计都不是狠清楚,这样就别回答别人,以免让人家更迷糊.
我来回答lz吧
begin end是表示的一个语句块,是T-SQL语言的一部分,类似于其他编程语言的大括号{},如if(...){...}
在T-SQL中就是if(...)begin ... end
T-SQL语言它是用来让应用程式与 SQL Server 沟通的主要语言.可以自己先查查这种语言,我就不多说了.
多数情况下T-SQL和存储过程一起使用,希望帮助了你吧.
Begin
...
End
之间的是一个语句块,一般Begin...End用在
while
if等语句中
在T_SQL中,if/while后只能紧跟一条sql语句,如果有多条则应该用Begin..end包含起来
如:
if (@int >9)
set @int = 1
else
set @int = 0
这里的if后面只把变量@int设为1,没有其它的 *** 作,所以这里可以省去begin..end
但如果有多条,如
if(@int >9)
begin
set @int = 1
select * from tablename
end
这里就必须用begin..end
否则
select语句就永远都会被执行一次
更具体的查查联机文档吧
SQL中的go、begin、end的用法说明如下:
go向SQL Server实用程序发出一批Transact-SQL语句结束的信号。 Go分批执行t-sql语句 (如果该步骤成功,则执行下一步,即一次执行一个步骤)。
BEGIN和END语句用于将多个Transact-SQL语句组合为一个逻辑块。 BEGIN和END语句可用于控制流语句必须执行两个或多个Transact-SQL语句的块的情况。
BEGIN和END语句必须成对使用:不能单独使用。 BEGIN语句显示在一行上,然后是Transact-SQL语句块。 最后,END语句显示在单独的行上,指示语句块的结尾。
扩展资料:
例如,当IF语句仅控制一个Transact-SQL语句的执行时,无需使用BEGIN或END语句:
IF (@@ERROR <>0)
SET @ErrorSaveVariable = @@ERROR
如果@@ ERROR为0,则仅跳过SET语句。
当计算结果为FALSE时,使用BEGIN和END语句使IF语句跳过语句块:
IF (@@ERROR <>0)
BEGIN
SET @ErrorSaveVariable = @@ERROR
PRINT 'Error encountered, ' +
CAST(@ErrorSaveVariable AS VARCHAR(10))
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)