1

私は SQL Server 2012 を初めて使用し、練習中に修正できないエラーに気付きました。

主キーを持つテーブルと、その参照を持つ別のテーブルを作成しました。参照表:

create table emp
(
   empno integer not null,
   ename varchar(10),
   job varchar(9),
   mgr varchar(10),
   hiredate date,
   sal decimal(7,2),
   comm decimal(12,3),
   deptno integer references dept(deptno)
)

を使用して値を挿入しようとしました

insert into emp values(100,'Sachin','IT','Srikanth','10-10-2009',
  50000.00,500.00,1)

しかし、次のエラーが発生しています。

数値をデータ型数値に変換する算術オーバーフロー エラー

また、COMM のデータ型を に変更するdecimalと、エラーが消えます。

4

1 に答える 1

0

クエリ [decimal(7,2)]のデータ型が問題です。

(7,2)、数値が合計 7 桁の精度を持つことができ、2 桁が小数部用に予約されていることを示しています。

したがって、 5000.00のような値を格納するために使用できるのは 4 桁のみであり、500000.00 はオーバーフローを引き起こします。

于 2013-10-11T04:39:48.527 に答える