我目前正在为我的一个项目输入一个脚本,并且目前很难找到有关如何执行MS SQL所提供的大部分功能的信息。如何确定脚本中SQL语句是否失败
我想弄清楚一种方法来测试一个SQL语句是否未能执行。例如,尝试插入表中已存在的记录。任何帮助将不胜感激
我目前正在为我的一个项目输入一个脚本,并且目前很难找到有关如何执行MS SQL所提供的大部分功能的信息。如何确定脚本中SQL语句是否失败
我想弄清楚一种方法来测试一个SQL语句是否未能执行。例如,尝试插入表中已存在的记录。任何帮助将不胜感激
您可以使用SQL Server的try/catch capabilities。
Another article source和样品T-SQL:
BEGIN TRY
DECLARE @X INT
-- Divide by zero to generate Error
SET @X = 1/0
PRINT 'Command after error in TRY block'
END TRY
BEGIN CATCH
PRINT 'Error Detected'
END CATCH
例如处理catch块中的特定操作失败。
尝试抓住是要走的路。如果你在一个porcess中有很多步骤,并且希望看到它在某个日期的详细信息,包括错误,那么你可以随时将你需要的详细信息存储在一个表变量中(并且catch块中的错误),然后在回滚之后,将详细信息插入到permananet日志记录表中。这会给你一个错误的历史,这在以后的研究中可能是无价的。表变量不会在临时表回滚时超出范围。
啊谢谢你的提示,非常有帮助 – Steve 2011-01-27 04:03:44
@Steve:没问题。但请不要忘记参加上/下投票并接受答案。这就是你如何验证一个答案,这是什么使得SO工作如此顺利。请查看FAQ:http://stackoverflow.com/faq,特别是声望部分。欢呼,欢迎来到SO! – 2011-01-27 04:11:06