【发布时间】:2015-09-08 19:36:32
【问题描述】:
目前,我有一个运行许多不同查询的存储过程。特别是一个查询将执行存储在我的计算机上的 CSV 文件的批量插入,当文件可用时,此批量插入效果很好。不幸的是,我并不总是有一个文件供此查询检索,导致我的存储过程停止并在该文件不存在时引发错误。什么是处理这种情况的好方法,以便存储过程继续完全执行,即使没有文件可供批量插入查询检索?
我尝试使用try catch 块,但是当我尝试运行该程序时它仍然给我同样的问题。话虽如此,这可能只是因为我没有正确实现try catch 块。除了try catch 块之外,我愿意尝试其他方式,这只是我见过使用最多的方式。
【问题讨论】:
-
TRY/CATCH 有效,但这并不能真正处理错误。这更像是抑制错误。为什么不检查文件是否存在,只有在存在时才尝试处理它?
-
你的 catch 块是什么样的?
try catch块适用于不可预测的错误 - 因为这是可预测的,使用if语句可能会更好。查看系统存储过程:dbo.xp_fileexist -
@SeanLange 我最初是这么想的,但很难找到一种方法来检查文件是否存在。
标签: sql sql-server tsql