Неверный символ во время моего оператора вставки SQL Plus - PullRequest
0 голосов
/ 29 ноября 2018

Я создал таблицу для своего класса SQL, однако, когда я пытаюсь вставить данные, он выдает ошибку при вводе символов в Borough:

CREATE TABLE Child (
childID VARCHAR (5) PRIMARY KEY,
firstName CHAR (10),
lastName CHAR (15),
dateOfBirth DATE,
street VARCHAR (20),
city CHAR (10),
ZIP VARCHAR (5),
phone VARCHAR (15),
borough CHAR (15)
);

INSERT INTO Child
VALUES (‘C001’, John, Wick, 2017-02-16 , ‘123 Jay Street’, New York, ‘11201’, ‘212-777- 
6677’, Brooklyn);
           *
"Error at Line 2, invalid Character ORA-00911"

В частности, это говорит мне "Ошибка в строке 2, недопустимаяСимвол "на букву К в Бруклине.Я пробовал с другой комбинацией цитат, но это все равно дало мне ту же ошибку, на этот раз на номер 3 в номере телефона

INSERT INTO Child
VALUES (‘C002’, ‘Wayne’, ‘Brady’, ‘2017-02- 
16’, ’24 Atlantic Ave’, ‘New York’, ‘11201’, 
‘212-888-2345’, ‘Brooklyn’);
          *
"Error at Line 2, invalid Character ORA-00911

Любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

«Кудрявые» кавычки вокруг текстовых полей вызваны использованием редактора, такого как Microsoft Word, который предназначен для документов, читаемых людьми, а не для запросов SQL.Кавычки должны быть символом одиночной кавычки ASCII '.Используйте одинарные кавычки для всех текстовых значений в вашем выражении INSERT, на что ответил @The Impaler.

Чтобы избежать этой проблемы в будущем, используйте специальный текстовый редактор с хорошей подсветкой синтаксиса для файлов .sql, напримеркак Блокнот ++ для Windows или Sublime Text для Mac .Или вы можете просто выполнить все ваши изменения в клиенте SQL, например Oracle SQL Developer .

0 голосов
/ 29 ноября 2018

Те одиночные кавычки, которые вы используете, странные.Вместо этого используйте стандартные одинарные кавычки ('), например:

INSERT INTO Child
(childID, firstName, lastName, dateOfBirth, street, city, ZIP, phone, borough)
VALUES ('C001', 'John', 'Wick', to_date('2017-02-16','YYYY-MM-DD'), '123 Jay Street', 'New York', '11201', '212-777-6677', 'Brooklyn');

. В Oracle также следует:

  • Избегать использования типа VARCHAR.Вместо этого используйте VARCHAR2.
  • Назовите все столбцы в INSERT.
...