首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle SQL Developer: PL/SQL: ORA-00903:无效的表名

Oracle SQL Developer: PL/SQL: ORA-00903:无效的表名
EN

Stack Overflow用户
提问于 2011-05-04 01:12:02
回答 3查看 12.5K关注 0票数 1

我得到了这个错误:

代码语言:javascript
复制
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:

这很荒谬,因为这两个表都存在于我的数据库中。我可以这样做:

代码语言:javascript
复制
SELECT * FROM books;

或者:

代码语言:javascript
复制
SELECT * FROM book_copies;

这两种方法都是有效的。

为什么Oracle SQL Developer会说“无效的表名”?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-04 01:20:30

DELETE语句中,至少在Oracle中,不会列出列,而FROM是可选的。因此,当您使用DELETE * ...时,它会尝试将星号解析为表名。请注意,如果计算列数,则列10是星号,这是报告无效表名的位置。

编写DELETE FROM book_copiesDELETE book_copies

票数 6
EN

Stack Overflow用户

发布于 2011-05-04 01:17:52

但你应该

代码语言:javascript
复制
DELETE FROM book_copies;

(无*从Access借用)

票数 1
EN

Stack Overflow用户

发布于 2014-12-11 14:55:09

获取以下项的错误

drop和alter

同样的错误:无效的表名

但是表在那里,请告诉我解决方案。

查询:

代码语言:javascript
复制
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);

谢谢。致以问候。施韦塔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5873123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档