Oracle SQL Developer: PL / SQL: ORA-00903: неверное имя таблицы - PullRequest
1 голос
/ 03 мая 2011

Я получаю эту ошибку:

Error starting at line 2 in command:
BEGIN
  DELETE * FROM book_copies;
  DELETE * FROM books;
  /* more code here */
END;
Error report:
ORA-06550: line 2, column 10:
PL/SQL: ORA-00903: invalid table name
ORA-06550: line 2, column 3:
PL/SQL: SQL Statement ignored
ORA-06550: line 3, column 10:
PL/SQL: ORA-00903: invalid table name
ORA-06550: line 3, column 3:
PL/SQL: SQL Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

Что смешно, поскольку обе таблицы существуют в моей базе данных. Я могу сделать:

SELECT * FROM books;

Или:

SELECT * FROM book_copies;

И оба они работают.

Почему Oracle SQL Developer говорит "недопустимое имя таблицы"?

Ответы [ 3 ]

6 голосов
/ 03 мая 2011

В операторе DELETE, по крайней мере, в Oracle, вы не перечисляете столбцы, а FROM является необязательным.Поэтому, когда вы DELETE * ..., он пытается проанализировать звездочку как имя таблицы.Обратите внимание, что если считать столбцы, в столбце 10 указывается звездочка, в которой указывается неверное имя таблицы.

Запись DELETE FROM book_copies или DELETE book_copies.

1 голос
/ 03 мая 2011

Но вы должны

DELETE FROM book_copies;

(нет * заимствовано из Access)

0 голосов
/ 11 декабря 2014

Получение ошибки для

падение и изменение

та же ошибка: неверное имя таблицы

но таблица есть, пожалуйста, сообщите решение.

Запрос:

ALTER TABLE [EXCLUDE_BC]
DROP COLUMN [STATUS_BY_SITE] VARCHAR2(60 BYTE), [ALT_STATUS_BY_SITE] VARCHAR2(60 BYTE), [STATUS_BY_CONSOLIDATED] VARCHAR2(60 BYTE),[ALT_STATUS_BY_CONSOLIDATED] VARCHAR2(60 BYTE);

ALTER TABLE [EXCLUDE_BC]
ADD [STATUS_BY_SITE] VARCHAR2(60 BYTE), [ALT_STATUS_BY_SITE] VARCHAR2(60 BYTE), [STATUS_BY_CONSOLIDATED] VARCHAR2(60 BYTE),[ALT_STATUS_BY_CONSOLIDATED] VARCHAR2(60 BYTE);

спасибо. С уважением. Shweta

...