Oracle 甲骨文';我们需要撇号

Oracle 甲骨文';我们需要撇号,oracle,plsql,Oracle,Plsql,我使用的是Oracle 11g和Oracle SQL Developer 3.2.20.09。我正在创建一个程序 为什么当我这样编写查询时会出现错误PL/SQL:ORA-00942:表或视图不存在: select * from TableExample; select * from "TableExample"; 但是如果我这样写查询: select * from TableExample; select * from "TableExample"; 好用吗 有没有办法使用第一个选项而不

我使用的是Oracle 11g和Oracle SQL Developer 3.2.20.09。我正在创建一个程序

为什么当我这样编写查询时会出现错误
PL/SQL:ORA-00942:表或视图不存在

select * from TableExample;
select * from "TableExample";
但是如果我这样写查询:

select * from TableExample;
select * from "TableExample";
好用吗

有没有办法使用第一个选项而不出错?请注意,
是使用执行上述查询的同一用户创建的


编辑:我还注意到我必须对每个字段使用撇号,除了主键
ID

,因为“table”是一个保留字,所以oracle会将其视为语法错误,例如:

select * from from ; 

您可以使用双引号对其进行转义,但每次查询此表时都必须记住使用双引号。

因为“table”是保留字,所以oracle会将其视为语法错误,例如:

select * from from ; 

您可以使用双引号对其进行转义,但每次查询此表时都必须记住使用双引号。

这取决于您创建表的方式。如果表也创建为“TableExample”(带引号),则表名区分大小写,选择表时需要使用引号。

这取决于创建表的方式。如果表格也创建为“TableExample”(带引号),则表格名称区分大小写,选择表格时需要使用引号。

原因是表格是使用双引号中的表格名称创建的。通常,表名和列名是不区分大小写的,但是如果在它们周围加上双引号,它们就会区分大小写,除非它们完全是大写的(疯狂,但正确:-())

要查找正确的表名和列名,可以查询数据字典:

select * from dba_tab_cols where upper(table_name) = upper('TableExample')
(如果您没有必要的权限,请使用user_tab_cols而不是dba_tab_cols)。
对于此查询返回的每个表名和列名,如果它不包含大写字符或下划线,则必须将其引用。

原因是创建表时,表名使用双引号。通常,表名和列名不区分大小写,但如果在其周围加双引号,则它们将变为大小写敏感,除非它们完全大写(疯狂,但正确:-())

要查找正确的表名和列名,可以查询数据字典:

select * from dba_tab_cols where upper(table_name) = upper('TableExample')
(如果您没有必要的权限,请使用user_tab_cols而不是dba_tab_cols)。
对于此查询返回的每个表名和列名,如果它不包含大写字符或下划线,则必须将其引用。

很抱歉造成混淆,我已更新了问题。表名只是一个示例。一定有人使用双引号“create table as”创建了表名“TableExample”“;”。这意味着表名区分大小写。很抱歉造成混淆,我已更新了问题。表名只是一个示例。一定有人使用双引号“create table as”TableExample“;”创建了表名。这意味着表名区分大小写