2015-09-26 4 views
-2

Я понятия не имею, почему я получаю эту ошибку. У кого-нибудь есть идеи?Ошибка ввода данных разработчика SQL

Error starting at line : 19 in command - 

    INSERT INTO Employee 
    (Eno, Ename, Zip, Hdate, Creation_Date,Created_by, Last_Update_Date, Last_Update_By) 
    VALUES 
    (111111, "Man", '', 'Jan-10-1999','Jan-10-1999', "Hank", 'Jan-10-1999', "Hank") 

Error at Command Line : 22 Column : 80 Error report - SQL Error: ORA-00984: column not allowed here 00984. 00000 - "column not allowed here"

+0

https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements003.htm#SQLRF00218 –

ответ

3

Цитата строки с ':

INSERT INTO Employee 
(Eno, Ename, Zip, Hdate, Creation_Date,Created_by, Last_Update_Date, Last_Update_By) 
VALUES 
(111111, 'Man', '', 'Jan-10-1999','Jan-10-1999', 'Hank', 'Jan-10-1999', 'Hank'); 

"name" трактуется как идентификатор.

0

"Man", "Hank" и "Hank" должны быть в одинарные кавычки, например: 'Man', 'Hank' и 'Hank'. Символьные строки внутри двойных кавычек считаются именами столбцов. Вот почему ошибка column not allowed here.

И пока мы на ней, если HDate, Creation_Date и Last_Update_Date имеют тип данных DATE вы флиртует с катастрофой здесь путем подсчета на базе интерпретируя строку как дату в определенным образом. Лучше всего, чтобы использовать функцию TO_DATE, чтобы преобразовать строку в реальном DATE:

INSERT INTO Employee 
(Eno, Ename, Zip, Hdate, 
Creation_Date,Created_by, Last_Update_Date, 
Last_Update_By) 
VALUES 
(111111, 'Man', '', TO_DATE('Jan-10-1999' 'MON-DD-YYYY'), 
TO_DATE('Jan-10-1999', 'MON-DD-YYYY'), 'Hank', TO_DATE('Jan-10-1999', 'MON-DD-YYYY'), 
'Hank') 

удачи.

Смежные вопросы