SQL Server-流程控制 7,Try...Catch 语句

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
ylbtech-SQL Server:SQL Server-流程控制 7,Try...Catch 语句

 SQL Server 流程控制中的 Try...Catch 语句。

1,Try...Catch 语句
复制代码
 1 --=============================================================
 2 -- 1,Try..Catch语句(Sql 2005及以上支持)
 3 -- Desc:Try...Catch语句类似于C#或C++语句中的异常处理,当Try语法块中的代码出现错误时
 4 -- ,系统会将控制传给Catch语法块去处理。
 5 -- author:ylbtech
 6 -- pubdate:10:39 2012/12/17
 7 --=============================================================
 8 go
 9 
10 go
11 --=============================================================
12 -- 2,Syntax
13 --=============================================================
14 Begin Try
15 {sql_statement|statement_block}
16 End Try
17 Begin Catch
18 {sql_statement|statement_block}
19 End Catch
20 [;]
21 --Remark:
22 
23 go
24 --=============================================================
25 -- 3,Example
26 -- Desc:删除类别表中类别编号为5的类别记录。
27 --=============================================================
28 use Northwind
29 go
30 
31 --select * from Categories where CategoryID=5
32 Begin Try
33 delete Categories where CategoryID=5
34 End Try
35 
36 Begin Catch
37 Print Error_Message()
38 delete Products where CategoryID=5
39 delete Categories where CategoryID=5
40 End Catch
41 
42 go
43 --=============================================================
44 -- 4,Operation result
45 --=============================================================
46 
47 --DELETE 语句与 REFERENCE 约束"FK_Products_Categories"冲突
48 --。该冲突发生于数据库"Northwind",表"dbo.Products", column 'CategoryID'。
49 --消息 547,级别 16,状态 0,第 6 行
50 --DELETE 语句与 REFERENCE 约束"FK_Order_Details_Products"冲突
51 --。该冲突发生于数据库"Northwind",表"dbo.Order Details", column 'ProductID'。
52 --语句已终止。
53 --消息 547,级别 16,状态 0,第 7 行
54 --DELETE 语句与 REFERENCE 约束"FK_Products_Categories"冲突
55 --。该冲突发生于数据库"Northwind",表"dbo.Products", column 'CategoryID'。
56 --语句已终止。
复制代码

 

本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2012/12/25/2832133.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
打赏
0
0
0
0
66
分享
相关文章
MySQL原理简介—1.SQL的执行流程
本文介绍了MySQL驱动、数据库连接池及SQL执行流程的关键组件和作用。主要内容包括:MySQL驱动用于建立Java系统与数据库的网络连接;数据库连接池提高多线程并发访问效率;MySQL中的连接池维护多个数据库连接并进行权限验证;网络连接由线程处理,监听请求并读取数据;SQL接口负责执行SQL语句;查询解析器将SQL语句解析为可执行逻辑;查询优化器选择最优查询路径;存储引擎接口负责实际的数据操作;执行器根据优化后的执行计划调用存储引擎接口完成SQL语句的执行。整个流程确保了高效、安全地处理SQL请求。
260 76
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
693 11
揭秘MySQL一条SQL语句的执行流程
以上步骤共同构成了MySQL处理SQL语句的完整流程,理解这一流程有助于更有效地使用MySQL数据库,优化查询性能,及时解决可能出现的性能瓶颈问题。
176 7
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
9月前
|
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
244 13
|
9月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
149 9
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
83 0
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
1716 0
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
711 1

热门文章

最新文章