В настоящее время у меня есть хранимая процедура, которая запускает множество разных запросов. Один запрос, в частности, будет выполнять массовую вставку CSV-файла, хранящегося на моем компьютере, когда файл доступен, эта вставка большого объема отлично работает. К сожалению, у меня не всегда есть файл для получения этого запроса, в результате моя хранимая процедура останавливается и бросает ошибку, когда этот файл не существует. Каков хороший способ справиться с этой ситуацией, чтобы хранимая процедура продолжала выполняться полностью, даже если нет файла для запроса объемной вставки для извлечения?Как пропустить ошибку в хранимой процедуре
Я попытался сыграть с блоком try catch
, но он все равно дал мне те же проблемы, когда я попытался выполнить процедуру. С учетом сказанного это могло быть просто потому, что я не реализовал блок try catch
правильно. Я открыт для других способов, кроме блоков try catch
, это был тот, который я видел больше всего.
TRY/CATCH работает, но это не относится к ошибке. Это больше похоже на подавление ошибки. Почему бы не проверить наличие файла и только попытаться обработать его, если он существует? –
Как выглядел ваш блок catch? Блоки «try catch» хороши для непредсказуемых ошибок - поскольку это предсказуемо, лучше использовать оператор 'if'. См. Системную хранимую процедуру: dbo.xp_fileexist – PeteGO
@SeanLange Я думал об этом изначально, но мне было трудно найти способ проверить наличие файла. – Jcmoney1010