SQL - Как проверить переполнение типа данных - PullRequest
2 голосов
/ 13 июня 2011

Я хотел бы проверить переполнение определенного типа данных столбца в базе данных SQL.Вот текст, который мне нужно поместить в мой SQL:

"переполнение произошло, когда значение выходит за интервал типа данных столбца"

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Примерно так будет работать для SQL Server ...

DECLARE @userInput NVarChar(100) = '129387918279387987123123';
DECLARE @value Int;

BEGIN TRY
  SELECT @value = CONVERT(Int, @userInput);
END TRY
BEGIN CATCH
  PRINT 'Overflow happend when the value is out of interval of column''s data type';
END CATCH;
1 голос
/ 13 июня 2011

В приложении базы данных на самом деле не существует какого-либо хорошего способа автоматического восстановления (для восстановления в коде) от переполнения.Вы должны откатить транзакцию.

Таким образом, вам придется перехватывать ошибку переполнения, которую вызывает сервер, а затем либо откатить, либо снова вызвать эту ошибку, чтобы какой-то другой модуль мог выполнить откат.Я действительно не вижу смысла в этом, но я могу что-то упустить.

Я что-то упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...