SQL Server异常处理

西杜

我试图了解TRY-CATCH的 确切含义不捕获在相同范围内发生的编译错误

我目前正在尝试在SQL Server中设置异常处理,并且遇到了几次此语句,但是我不太了解它的含义。我注意到,如果我有INSERT语句,则异常处理适用于PRIMARY KEY约束错误,但不适用于包含额外列的INSERT语句。

David Browne-微软

它似乎不适用于包含额外列的INSERT语句。

正确,因为TRY-CATCH不会捕获在相同范围内发生的编译错误。

如果您的编译错误发生在嵌套范围内,则catch块将运行。

这是行为的一个简单示例:

create table t(id int)
go
begin try
   insert into t(id) values (1,2)
end try
begin catch

  select concat('catch block ', error_message())
end catch
go
begin try
   exec ('insert into t(id) values (1,2)');
end try
begin catch

  select concat('catch block ', error_message())
end catch

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server EXECUTE AS异常

来自分类Dev

PL / SQL引发处理的异常

来自分类Dev

SQL:函数中的异常处理

来自分类Dev

批处理插入的Postgres SQL异常处理

来自分类Dev

SQL Server查询异常行为

来自分类Dev

SQL Server异常消息格式

来自分类Dev

异常的SQL Server查询结果

来自分类Dev

SQL Server瞬态异常号

来自分类Dev

SQL Server 2012登录异常

来自分类Dev

Pl / SQL嵌套过程异常处理

来自分类Dev

在Odoo ORM中处理SQL约束异常

来自分类Dev

SQL插入后的PHP异常处理

来自分类Dev

PL / SQL包级别的异常处理

来自分类Dev

函数之间的PL \ SQL异常处理

来自分类Dev

PL / SQL插入新记录异常处理

来自分类Dev

处理sql用户定义类型中的异常

来自分类Dev

用户代码未处理 SQL 异常

来自分类Dev

尝试将未处理的异常插入SQL Server数据库时,对象类型不存在任何映射

来自分类Dev

已处理的SQL异常被标记为未处理

来自分类Dev

与SQL Server的连接引发异常

来自分类Dev

SQL SERVER替换功能工作异常

来自分类Dev

在SQL Server中使用Isnumeric捕获异常

来自分类Dev

SQL SERVER替换功能工作异常

来自分类Dev

SQL Server Profiler 中显示的静默异常

来自分类Dev

从文本框写入sql server 2012时,System.Data.dll中发生了类型为'System.InvalidOperationException'的未处理异常

来自分类Dev

使用try-catch无法处理SQL异常

来自分类Dev

PL / SQL异常处理-函数返回无值

来自分类Dev

如何处理pl / sql中的invalid_identifier异常?

来自分类Dev

如何在C#中处理SQL异常?