SQLserver算術オーバーフローエラーについて
使用環境は DB SQL Server2008 Express
使用ツールは Microsoft SQL Server Management Studio です
SQLserver2000からSQLserver2008DBへ移行しようとしているのですが
ストアドプロシージャのところでうまくいきません
具体的には、処理を走らせると下記メッセージが出てきます
floatをデータ型numericに変換中に、算術オーバーフローエラーが発生しました
プロシージャ"○○"は、許可されていないステータスNULLを返そうとしました。
代わりにステータス0を返します
調べると
小数点以下があるフィールド同士を掛けて、その結果の小数点以下をROUNDで切り
捨てた値を小数点のないフィールドに追加しようとするとエラーになる
とありました。
下記 2行あたりが怪しいと思うのですが対処方法がわかりません。
ご教授願えないでしょうか?
SET @GetRand = CAST(RAND()*10 AS numeric(1,0))
…
SET @GetRand = CAST(RIGHT(CONVERT(varchar,CAST(RAND()*100 AS
numeric(2,0))+100),2) As numeric(2,0))
またストアドプロシージャは、VBのようにデバッグで1行単位で処理を確認してい
くことはできないのでしょうか?
お礼
ありがとうございました。