Как я могу решить 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. Мне пришлось удалить пробелы и сценарий.


удалите точку с запятой (;), backtick ( ` ) и т. д. из запроса