Oracle SQL Developer:PL/SQL:ORA-00903:无效的表名
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/5873123/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Oracle SQL Developer: PL/SQL: ORA-00903: invalid table name
提问by Richard Knop
I am getting this error:
我收到此错误:
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:
Which is ridiculous as both tables exist in my database. I can do:
这很荒谬,因为我的数据库中存在两个表。我可以:
SELECT * FROM books;
Or:
或者:
SELECT * FROM book_copies;
And both of them work.
他们都工作。
Why does Oracle SQL Developer says "invalid table name"?
为什么 Oracle SQL Developer 会说“无效的表名”?
回答by Dave Costa
In a DELETE
statement, at least in Oracle, you don't list columns, and FROM
is optional. So when you DELETE * ...
, it is trying to parse the asterisk as the table name. Note that if you count the columns, column 10 is the asterisk, which is where the invalid table name is being reported.
在DELETE
语句中,至少在 Oracle 中,您不列出列,并且FROM
是可选的。因此,当您DELETE * ...
尝试将星号解析为表名时。请注意,如果计算列数,第 10 列是星号,这是报告无效表名的位置。
Write DELETE FROM book_copies
or DELETE book_copies
.
写DELETE FROM book_copies
或DELETE book_copies
。
回答by Ekkehard.Horner
But you should
但是你应该
DELETE FROM book_copies;
(no * borrowed from Access)
(没有 * 从 Access 借来的)
回答by shweta
Getting error for
获取错误
drop and alter
删除和改变
same error : invalid table name
同样的错误:无效的表名
but table is there, please tell the solution.
但表在那里,请告诉解决方案。
Query:
询问:
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);
thanks. regards. Shweta
谢谢。问候。施维塔