SQL SELECT语句什么时候抛出异常?

时间:2011-07-19 16:05:48

标签: tsql sql-server-2008 stored-procedures select

TSQL在这里。特别是Server 2008(字面意思只是升级)

关于存储过程:Try / Catch

我试图在Select语句抛出异常时列出一些案例。我能想到的是语法相关(包括空变量)并除以零。我只是猜测Insert/AlterCreate/Truncate只有一大堆载荷。

如果你碰巧知道一个好的源链接,那就太好了。

当我阅读关于SQL服务器的错误处理的详尽博客文章时,出现了这个问题。它的标题是SQL Server 2000,但我认为其中大部分仍然适用。

修改

对不起,我打算早点链接。 。

http://msdn.microsoft.com/en-us/library/aa175920(v=sql.80).aspx

2 个答案:

答案 0 :(得分:1)

外部编译(“没有'运行”)错误,你至少这些运行时错误

但是,你总是想使用TRY / CATCH,当然......?

答案 1 :(得分:1)

添加到gbn的帖子,您还可以获得锁定等待超时和死锁等锁定错误。

如果您正在引用#Temp表,则可能会出现“无效对象名'#Temp'”错误,因为这些错误在语句执行之前是未绑定的。

如果你处于READ UNCOMMITTED或WITH(NOLOCK),你可能会收到错误:601 - “由于数据移动,无法继续使用NOLOCK扫描。”

如果您的代码运行.NET代码,您可能会从那里获得异常。

如果您的代码从远程服务器中选择,则可能会出现一组完全不同的连接错误。