判断记录存在异常SQL是原则?
Determine record exist by exception of SQL is Principles?
我有一个带主键的 table,我想向其中插入新记录。
在我的代码中,我通过异常检查记录是否存在。在 SQL 存储过程中,我有插入代码并被异常包围,在我的应用程序中我执行该存储过程并想要插入新记录,如果我的记录存在于 table 中,插入代码会抛出错误:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Sup_Item_Sup_Item_Cat". The conflict occurred in database test, table test. The statement has been terminated.
然后转到 catch
块。
在我的应用程序中,我检查了 SQL 返回的错误,它向用户显示了一个消息框,表明存在记录。
我想知道,这个方法是原理吗?或者我必须在 SQL?
中使用 if exist 语句
当你可以避免异常时,永远不要使用它,return 一个值。
例外是系统上的 "stress" 并且比任何其他方式都慢得多。
如果一切正常,SP 的习惯做法是 return0,如果出现错误则为负值。
检查应用程序中的 SP return 代码或使用 out 参数来确定问题。错误就应该是真正的错误。
我有一个带主键的 table,我想向其中插入新记录。
在我的代码中,我通过异常检查记录是否存在。在 SQL 存储过程中,我有插入代码并被异常包围,在我的应用程序中我执行该存储过程并想要插入新记录,如果我的记录存在于 table 中,插入代码会抛出错误:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Sup_Item_Sup_Item_Cat". The conflict occurred in database test, table test. The statement has been terminated.
然后转到 catch
块。
在我的应用程序中,我检查了 SQL 返回的错误,它向用户显示了一个消息框,表明存在记录。
我想知道,这个方法是原理吗?或者我必须在 SQL?
中使用 if exist 语句当你可以避免异常时,永远不要使用它,return 一个值。 例外是系统上的 "stress" 并且比任何其他方式都慢得多。
如果一切正常,SP 的习惯做法是 return0,如果出现错误则为负值。 检查应用程序中的 SP return 代码或使用 out 参数来确定问题。错误就应该是真正的错误。