Оракул помогает пропустить запятую - PullRequest
1 голос
/ 29 января 2010

Я создаю эту таблицу в Oracle

CREATE TABLE COURSE  (
     COURSE NUMBER(8,0) PRIMARY KEY,
     DESCRIPTION  VARCHAR2(50) NULL,
     COST NUMBER(9,2) NULL,
     PEREQUISITE NUMBER(8,0)  NULL,
     CREATED_BY VARCHAR2(30) NOT NULL,
     CREATED_DATE DATE NOT NULL,
     MODIFIED_BY VARCHAR2(30) NOT NULL,
     MODIFIED_DATE DATE NOT NULL
);

при выполнении следующей вставки я получаю сообщение об ошибке пропущенной запятой, но запятая отсутствует

INSERT INTO COURSE 
  ( COURSE NUMBER,DESCRIPTION,COST,PEREQUISITE NUMBER,CREATED_BY,CREATED_DATE,MODIFIED_BY,MODIFIED_DATE)
VALUES 
  (4823001,'Info Security Administration',1500,3153,'Moussa Kone','01/28/10','Moussa Kone','01/28/10');

Ответы [ 3 ]

12 голосов
/ 29 января 2010
INSERT INTO COURSE ( COURSE NUMBER, ...
                 ... PEREQUISITE NUMBER, ...

должно быть

INSERT INTO COURSE ( COURSE, ...
                 ... PEREQUISITE, ...

PS: не следует писать PEREQUISITE 1006 *?

5 голосов
/ 29 января 2010

Уберите все те NUMBER, которые есть в вашем INSERT заявлении. Они не являются частью имени столбца, они являются типом столбца; а Oracle не знает, почему они в заявлении INSERT.

У вас есть два раза: после столбца COURSE и после столбца PREREQUISITE.

INSERT INTO COURSE (COURSE, DESCRIPTION, COST, PEREQUISITE, CREATED_BY, CREATED_DATE, MODIFIED_BY, MODIFIED_DATE)
   VALUES (4823001,'Info Security Administration',1500,3153,'Moussa Kone','01/28/10','Moussa Kone','01/28/10');
0 голосов
/ 29 января 2010

Возможно, просто ошибка вставки копии, но я думаю, что Oracle настаивает запятую между «курсом» и «числом». Итак, я бы сказал, что решение состоит в том, чтобы удалить «число», и поэтому правильный оператор вставки выглядит следующим образом

INSERT INTO COURSE ( COURSE ,DESCRIPTION,COST,PEREQUISITE,CREATED_BY,CREATED_DATE,MODIFIED_BY,MODIFIED_DATE)
   VALUES (4823001,'Info Security Administration',1500,3153,'Moussa Kone','01/28/10','Moussa Kone','01/28/10');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...