Вставить запрос, показывающий ошибку - PullRequest
1 голос
/ 30 октября 2011

Я создал таблицу в oracle10g, используя следующий запрос ......

CREATE TABLE  "MOBILELOCATION" 
("EMPLOYEEID" NUMBER NOT NULL ENABLE, 
 "PRESENTDATE" VARCHAR2(30) NOT NULL ENABLE, 
  "PRESENTTIME" VARCHAR2(30) NOT NULL ENABLE, 
  "LATITUDE" NUMBER(6,10) NOT NULL ENABLE, 
 "LONGITUDE" NUMBER(6,10) NOT NULL ENABLE) 

Таблица была создана успешно ... но проблема в том, что я пытаюсь вставить строку в таблицу:показывая ошибку

error ORA-01438: value larger than specified precision allowed for this column

Я использовал следующий запрос:

insert into mobilelocation values(12303,'30-10-2011','09:30',16.9876,82.3426);

Где я нарушил ограничения ??Пожалуйста, объясните любой ..

1 Ответ

3 голосов
/ 30 октября 2011

Ваши столбцы LATITUDE и LONGTITUDE определены довольно странно - NUMBER(6,10) говорит 6 для точности (общее количество цифр) и 10 для масштаба (количество цифр справа от десятичной точки).

Вы можете либо изменить их на NUMBER(*), либо на NUMBER (10, 6), либо NUMBER(*,4), либо на подобное ... правильное объявление сложно угадать, но все перечисленные будут работать с предоставленными вами образцами данных ...

Для справки см http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i16209

...