データベースの列のデータ型のオーバーフローをチェックする方法を質問したいと思います。SQL - データ型のオーバーフローをチェックする方法
ここに私がSQLに入れる必要のあるテキストがあります。
は
が答えてくれてありがとう「の値が列のデータ型の区間の外にあるときにオーバーフローが起こりました」。データベースアプリケーションで
データベースの列のデータ型のオーバーフローをチェックする方法を質問したいと思います。SQL - データ型のオーバーフローをチェックする方法
ここに私がSQLに入れる必要のあるテキストがあります。
は
が答えてくれてありがとう「の値が列のデータ型の区間の外にあるときにオーバーフローが起こりました」。データベースアプリケーションで
このような何かが、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;
、オーバーフローから(コードで回復するために)自動的に回復する何か良い方法は本当にありません。トランザクションをロールバックする必要があります。
したがって、サーバーが発生するオーバーフローエラーをトラップしてから、ロールバックするか、エラーを再度発生させて、他のモジュールがロールバックできるようにする必要があります。私は実際にそれをすることのポイントが表示されませんが、私は何かが不足している可能性があります。
何か不足していますか?
どのデータベースが何をしているのですか?オーバーフローが発生する可能性があります –
int?日付時刻?テキストの長さ? – gbn
ストアドプロシージャでtry catchステートメントを使用します。 – neo