回答

1
IF EXISTS() 

是我应该在T-SQL中经常使用的东西。很多时候,开发人员编写SQL代码时,他们不会像编写常规代码时那样考虑异常和错误。

+0

不要害怕RAISEERROR要么给你无效的输入例如。这可以像托管代码中的ArgumentException一样使用,以将问题发回给调用者,而不仅仅是打破或返回损坏的结果。 – TheCodeKing 2010-09-22 22:32:01

2

要添加什么斯科特说:

  • 使用SQL Server现在支持的TRY/CATCH
  • 验证你的程序的参数和使用RAISERROR当事情不通过
  • 使用交易(小心)
+0

谨慎给我们提供一些关于交易的详细信息? – rebelliard 2010-09-22 20:16:51

+1

小心,我的意思是不要简单地在开始事务...提交事务中包装整个过程。考虑一下需要交易的东西 – 2010-09-22 20:32:23

+1

@Rafael Belliard:迟到,早点完成。从不筑巢。 SET XACT_ABORT ON – gbn 2010-09-22 20:36:53

0

除了其他人所说的之外,还要强制数据库中的数据完整性!