打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
T-SQL中的begin end分块语句 - 泥香的日志 - 网易博客
userphoto

2011.04.13

关注

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

     {

        sql_statement

        | statement_block

     }

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     (SELECT COUNT(*) FROM deleted, sales        WHERE sales.title_id = deleted.title_id) > 0     BEGIN        ROLLBACK TRANSACTION        PRINT 'You can't delete a title with sales.' END

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
sql server transaction
SQL之事务管理
sql Begin End关键字
Java的JDBC事务详解
SQL语句 事务
SQL Server数据库事务处理详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服