0
私は小売企業で働き、在庫をトレーラーに「積載」して店に発送するという事件を見ていました。SQLがテーブルに書き込もうとするときに問題が発生する。特定の精度よりも大きい値
私はいくつかのコードで問題が発生しました。プロセスはSQLテーブルに対して次の処理を実行しようとしています。
UPDATE RESV_LOCN_HDR SET RESV_LOCN_HDR.USER_ID = :1, RESV_LOCN_HDR.CURR_WT = :2, RESV_LOCN_HDR.CURR_VOL = :3, RESV_LOCN_HDR.CURR_UOM_QTY = :4, RESV_LOCN_HDR.MOD_DATE_TIME = :5 WHERE (RESV_LOCN_HDR.LOCN_ID = :6)
The input variables for reference are;
input variables
1: Address(309adbdc) Length(0) Type(8) "RFUSER" - Indicator @ 309ad7d4 = 0
2: Address(309ae02c) Length(0) Type(4) "11047.4" - Indicator @ 309ad9b8 = 0
3: Address(309ae1ac) Length(0) Type(4) "-1.01e+09" - Indicator @ 309ada3c = 0
4: Address(309ae32c) Length(0) Type(4) "-57" - Indicator @ 309adac0 = 0
5: Address(309ae55c) Length(0) Type(7) "10/27/2016 2:57:50 PM" - Indicator @ 309adb70 = 0
6: Address(309ade0c) Length(0) Type(8) "600062508" - Indicator @ 309ad8d0 = 0
私は(USER_ID、CURR_WT、CURR_VOL、CURR_UOM_QTY、MOD_DATE_TIME、LOCN_ID全てに書いていた列は、次のデータ型を持っている。
USER_ID = VARCHAR2(15 CHAR)
CURR_WT, CURR_VOL = NUMBER(13,4)
CURR_UOM_QTY = NUMBER(9,2)
MOD_DATE_TIME = DATE
LOCN_ID = VARCHAR2(10 CHAR)
私の理解から(と私はあなたの確信しています」 CURR_UOM_QTYは-1.01e + 09を書き込もうとしていますが、今はそれが私だけか、エラーが返されている理由ですか?そうではありませんか?上記のデータがマクロなのか?それとも同様のもの?
1.01e + 09を書き込む前に、数値データを書き込むだけでなく、混合して書き込む必要があります。
oracle 11gを使用してください。
これは数値です。 Google *科学的数値表記*。 –