说出你的故事马伊利:T-SQL中的begin end分块语句 - 泥香的日志 - 网易博客
T-SQL中的begin end分块语句
数据库学习 2009-06-19 13:32:34 阅读342 评论1 字号:大中小 订阅
转自:http://blog.sina.com.cn/s/blog_5df404110100dhjz.html
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语句就永远都会被执行一次
包括一系列的 Transact-SQL 语句,使得可以执行一组 Transact-SQL 语句。BEGIN 和 END 是控制流语言的关键字。
语法
BEGIN
END
参数
{ sql_statement | statement_block }
是任何有效的 Transact-SQL 语句或以语句块定义的语句分组。
注释
BEGIN...END 语句块允许嵌套。
虽然所有的 Transact-SQL 语句在 BEGIN...END 块内都有效,但有些 Transact-SQL 语句不应组合在同一个批处理(语句块)中。有关更多信息,请参见批处理和所用的各个语句。
示例
在本例中,BEGIN 和 END 定义一系列一起执行的 Transact-SQL 语句。如果没有包括 BEGIN...END 块,IF 条件仅使 ROLLBACK TRANSACTION 执行并且不返回打印信息。
USE pubs GO CREATE TRIGGER deltitle ON titles FOR delete AS IF