我是一个非常新的Oracle SQL用户,我遇到了问题。
如果我创建一个包含
等代码的表create table TBL_NAME...
之后我可以通过
获取数据从TBL_NAME中选择*;
但是,当我使用Navicat创建表(只需单击按钮新表)时,我必须在表名中添加“”以访问我的表,例如:
select * from "TBL_NAME";
那么,还有其他类型的表吗?如果我使用Navicat创建表,它是什么类型的?
答案 0 :(得分:1)
当您在没有双引号的Oracle中指定表的名称时,Oracle会将该表名转换为大写。但是,如果您在双引号中指定表的名称,那么Oracle将尊重您可能拥有的小写字母。
因此,在您的示例中,表的名称已经全部为大写,那么指定或不指定双引号没有区别。
但是,例如,如果你创建一个这样的表:
CREATE TABLE "my_table" ....
然后你不能这样访问它:
SELECT * FROM my_table;
因为Oracle会将该选择转换为:
SELECT * FROM MY_TABLE;
你的系统中没有这样的表格。
在你使用Navicat的情况下,它只需要你按原样指定表的名称,但不要担心,只需加上双引号并坚持使用所有大写名称,你就可以了。