Как я могу решить ORA-00911: недопустимая ошибка символа?
Я пытался выполнить SQL
INSERT
С Toad for oracle
:
INSERT INTO GRAT_ACTIVITY
(UUID, IP_ADRESS, SEND_MAIL, DATE_CREA, DATE_UPD, CREATOR, CENTER, ETAT, REQUEST)
VALUES('555-vgd9-pllkd-5513', '172.12.23.130', 'N', SYSDATE, SYSDATE, '1554', 'M18', 'I', 8842);
--COMMIT;
на GRAT_ACTIVITY
структура таблицы, как показано ниже:
CREATE TABLE CASH.GRAT_ACTIVITY
(
UUID VARCHAR2(64 BYTE) NOT NULL,
IP_ADRESS VARCHAR2(15 BYTE),
SEND_MAIL VARCHAR2(1 BYTE),
DATE_CREA DATE,
DATE_UPD DATE,
CREATOR VARCHAR2(4 BYTE),
CENTER VARCHAR2(4 BYTE),
ETAT VARCHAR2(1 BYTE),
REQUEST NUMBER
)
сообщение об ошибке:
ORA-00911: недопустимый символ
причина: идентификаторы не могут начинаться с любого символа ASCII, кроме букв и цифр. $#_ также разрешены после первого характер. Идентификаторы, заключенные в doublequotes, могут содержать любые характер, отличный от doublequote. Альтернативные кавычки (q'#...#') нельзя использовать пробелы, вкладки или возврат каретки в качестве разделителей. Для всех в других контекстах обратитесь к справочному руководству по языку SQL.
Действие: Нет
как я могу решить это?
5 ответов
оператор, который вы выполняете, действителен. Ошибка, по-видимому, означает, что жаба включает конечную точку с запятой как часть команды, что вызывает ORA-00911
когда он включен как часть оператора-так как это разделитель оператора в клиенте, а не часть самого оператора.
это может быть следующая прокомментированная строка, которая сбивает с толку жабу (как описано здесь); или это может быть потому что вы пытаетесь запустить все как один оператор, в этом случае вы можете попробовать использовать команду run script (F9) вместо инструкции run (Ф5).
просто удаление прокомментированной строки устраняет проблему, но если вы также видели это с фактической фиксацией, то, скорее всего, вы используете неправильный метод для запуска операторов.
есть немного больше информации о том, как жаба разбирает с запятой в комментарии на этот вопрос, но я не знаком достаточно с жабой, чтобы вдаваться в подробности.
У меня была та же проблема, и это было из-за конца строки. Я скопировал с другого документа. Я поставил все на одну линию, затем снова разделил их, и это сработало.
Если в имени столбца или таблицы используется специальный символ, отличный от$, _ и#, имя должно быть заключено в двойные кавычки. ссылке
Я столкнулся с тем же самым в последнее время. это было просто из-за пробелов при копировании скрипта из документа в SQL developer. Мне пришлось удалить пробелы и сценарий.