2015-02-15 9 views
2

Что случилось с этим запросом: Я получаю следующее сообщение об ошибкеОшибка SQL - отсутствует ключевое слово

SQL Error: ORA-00905: missing keyword 00905. 00000 - "missing keyword"

это говорит об ошибке в 4-м ряду. Пожалуйста посоветуйте

CREATE TABLE ORDERS 
(
ID INT  NOT NULL, 
ord_date DATE, 
AMOUNT  double, 
CUSTOMER_ID INT references CUSTOMERS(ID), 
PRIMARY KEY (ID) 
); 
+2

не должен быть вашим 'double'' 'числом (10, 2)' или чем-то подобным в зависимости от того, что вам нужно? –

+1

@ NicolásCarlo - Я просто попробовал удвоить. Но похоже, что он не будет работать в oracle 11g. По вашему предложению я попробовал номер .. он работал выполненным штрафом. Спасибо за информацию. – Dileep

+0

Нет проблем, но ответ @NoDisplayName - это, вероятно, то, что вы ищете. –

ответ

7

Вы пропустили добавить precision в double типа данных

CREATE TABLE ORDERS 
(
    ID INT  NOT NULL, 
    ord_date DATE, 
    AMOUNT  double precision, 
    CUSTOMER_ID INT references CUSTOMERS(ID), 
    PRIMARY KEY (ID) 
); 

SQLFIDDLE DEMO

Для получения дополнительной информации check here

0

Вы можете использовать BIGINT или DECIMAL типа для двойного типа.