最近项目中遇到一种情况,表明明建好了但是查询提示不存在,如图:
上网查询得到以下结果:
1、表或视图确实不存在或名称写错
2、表名大小写
Oracle对大小写敏感,通常在创建和查询时对名称数据库会自动转为大写,但语句中有引号时会按引号中的内容保留。例如:
create table "TableName" ("col1" VARCHAR2(2),"col2" DATE
);
这时查询语句也要相应改成
select * from "TableName";
3、权限问题导致
平时所做的对其它用户下资源的操作权限有些是通过角色授权的,但在存储过程、函数、触发器不能直接使用,需要单独授权。授权语句举例:
grant select on sys.XXX TO XXX;
发现与我的情况都对不上
后来查到在数据库里如果用系统自带的建表的话 他建表的时候就带双引号的
只需要更改表名就可以啦 提高书写sql效率
alter table "xxx" rename to xxx
尝试后问题解决!