日期:2014-05-18  浏览次数:20432 次

如何sqlserver2005 返回最后执行的 Transact-SQL 语句
如何捕获sqlserver2005 返回最后执行的 Transact-SQL 执行报错语句

不是错误号,是执行报错的语句哦

------解决方案--------------------
报错的语句是不被执行的,这个......在哪可以找到呢..............

你执行时的出错提示不就是一种捕获么....

另外,查@@ERROR,如果那句执行后不为零,就是出错了.
------解决方案--------------------
应该通过SQL PROFILER来跟踪吧
------解决方案--------------------
探讨
如何捕获sqlserver2005 返回最后执行的 Transact-SQL 执行报错语句

不是错误号,是执行报错的语句哦

------解决方案--------------------
declare @bp int,@err int
set @bp = 1
SQL语句
seleCt @err = @@error
if @err != 0
goto ErrHandle;
set @bp = 2
SQL语句2
select @err = @@error
if @err != 0
goto ErrHandle;




ErrHandle:
raiserror('bp=%d,err=%d',18,1,@bp,@err)

删除错误信息。
------解决方案--------------------
SQL code

--我一般这样调试
select * from tb1
print '111'
select * from tb2
print '222'
--....
--如果报错就不会print的出信息或者是在print之后再带打印出红色的错误信息,这样就知道是哪里出问题了

------解决方案--------------------
参照:

错误函数
TRY...CATCH 使用错误函数来捕获错误信息。

ERROR_NUMBER() 返回错误号。


ERROR_MESSAGE() 返回错误消息的完整文本。此文本包括为任何可替换参数(如长度、对象名称或时间)提供的值。


ERROR_SEVERITY() 返回错误严重性。


ERROR_STATE() 返回错误状态号。


ERROR_LINE() 返回导致错误的例程中的行号。


ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。



------解决方案--------------------
探讨
参照:

错误函数
TRY...CATCH 使用错误函数来捕获错误信息。

ERROR_NUMBER() 返回错误号。


ERROR_MESSAGE() 返回错误消息的完整文本。此文本包括为任何可替换参数(如长度、对象名称或时间)提供的值。


ERROR_SEVERITY() 返回错误严重性。


ERROR_STATE() 返回错误状态号。


ERROR_……