我目前正在为我的项目键入一个脚本,目前很难找到有关如何完成MS SQL必须提供的大部分功能的信息。
我试图找出一种方法来测试SQL语句是否未能执行。例如,尝试插入表中已存在的记录。任何帮助将不胜感激
答案 0 :(得分:5)
您可以使用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
E.g。处理catch块中的特定操作失败。
答案 1 :(得分:1)
尝试捕捉是要走的路。如果你在porcess中有很多步骤,并希望看到它在包括错误在内的某些日期所做的详细信息,那么你可以在每个步骤之后将所需的详细信息存储在表变量中(以及catch块中的错误) )然后在回滚后,将详细信息插入到permananet日志记录表中。这将为您提供错误的历史记录,这些错误在以后研究问题时非常宝贵。在临时表中,表变量不会超出回滚范围。