В базе данных я конвертерный, я вижу много процедуры, которые выглядят следующим образом:Нет обработка ошибок результата
ALTER PROCEDURE DeleteSomething
@someinput
AS
DELETE
FROM [table name]
WHERE [several conditions are met]
Затем я вижу эти процедуры называется так:
exec DeleteSomething @someinput
Однако в этом процессе обработки ошибок не происходит. Я не очень хорошо знаком с T-SQL, поэтому я пытаюсь проверить - что произойдет, если этот запрос упадет? Если он не найдет данных? Если условия не выполняются? Если введенный вход равен нулю?
- Я правильно говорю, что в всех этих случаях программа просто будет продолжать в обычном режиме, так как не был проверен @@ ошибка?
- Аналогично, если выходной параметр также был передан процедуре, и это не удалось, могу ли я сказать, что оно имеет значение null, поскольку оно не было назначено?
Edit:
Вот еще один пример запроса я пришел scross:
select @variable=field
from table join othertable on table.id = othertable.id
where table.id = someinput
Опять же, нет обработки ошибок. Насколько мне известно, в Oracle, который выдавал бы ошибку, если бы не было обнаружено никаких данных. Правильно ли я говорю в T-SQL, если нет соответствующей переменной @error?
Если условия не соблюдены, и если введенный вход имеет значение null, результат будет равен «0 строк». –
@PareshJ: Вот что я подумал. Может быть, это не был отличный пример. Я добавил редактирование, чтобы показать некоторые другие случаи обработки исключений, которые мне интересны. –
Не так много идеи о ORACLE, но в MSSQL, это определенно не повлияет на запись. –