dba_object查询到表名,select ...from 表名查询不到
来源:互联网 发布:防止微信屏蔽分享域名 编辑:程序博客网 时间:2024/05/01 03:50
问题原因:表test100对象在dba_objects中存在,为何select * from test100;报错表或视图不存在?
SQL> select owner,object_name,object_id from dba_objects where object_name = 'test100';OWNER OBJECT_NAME OBJECT_ID------------------------------ -------------------------------------------------------------------------------- ----------SCOTT test100 77185
SQL> select * from test100;
select * from test100
ORA-00942: 表或视图不存在
思考问题经过:
1.是否因为没有加属主,建表用户和查询用户是同一用户,被否定了。
2.dba_objects表里test100是大写的记录是否存在:
SQL> select owner,object_name,object_id from dba_objects where object_name = 'TEST100';OWNER OBJECT_NAME OBJECT_ID------------------------------ -------------------------------------------------------------------------------- ----------
SQL> select * from TEST100;select * from TEST100ORA-00942: 表或视图不存在
其结果是表TEST100在dba_objects中没有记录且不存在。正常情况下test100建表成功同时写一条记录到dba_objects,
并且object_name记录的是TEST100(大写形式)。
3.为了验证建表写值object_name为大写形式,做了下面的实验:
SQL> create table test101 as select 1 as id from dual;Table createdSQL> select owner,object_name,object_id from dba_objects where object_name = 'TEST101';OWNER OBJECT_NAME OBJECT_ID------------------------------ -------------------------------------------------------------------------------- ----------SCOTT TEST101 77267SQL> select * from test101; ID----------1
SQL> select owner,object_name,object_id from dba_objects where object_name = 'test101';OWNER OBJECT_NAME OBJECT_ID------------------------------ -------------------------------------------------------------------------------- ----------
已经可以明显看出表test101,存入是TEST101(大写形式)。
4.怀疑表test100是否做了处理,做了下面的实验:
SQL> create table "test100" as select 1 as id from dual;Table createdSQL> select owner,object_name,object_id from dba_objects where object_name = 'test100';OWNER OBJECT_NAME OBJECT_ID------------------------------ -------------------------------------------------------------------------------- ----------SCOTT test100 77269SQL> select owner,object_name,object_id from dba_objects where object_name = 'TEST100';OWNER OBJECT_NAME OBJECT_ID------------------------------ -------------------------------------------------------------------------------- ----------SQL> SQL> select * from test100;select * from test100ORA-00942: 表或视图不存在SQL> select * from "test100"; ID---------- 1
结论:create table test100 做了双引号处理 create table “test100”,object_name 写了带双引号的值test100
0 0
- dba_object查询到表名,select ...from 表名查询不到
- M2 | JDBC—jdbc查询:select * from 表名
- select查询不到实际存在的表
- select * from information_schema.tables 查询所有表
- utf8编码下SELECT查询不到内容
- select 1 from 表名
- select count from multiple tables(多表计数查询)
- Mysql命令select from:查询表中的数据(记录)
- MySQL命令select from:查询表中的数据(记录)
- SQL 另类查询 select 1 from table
- 查询数据库名、查询表名
- kingbaseES表存在,但是select查询不到,提示表不存在处理方式
- SELECT单表查询
- postgres插入默认值 如果select查询不到默认值
- SQL查询表名
- 查询数据库表名
- 查询所有表名
- 查询数据库表名
- 支付
- handler的使用
- c++类 class
- TP 框架使用时的盲点
- nginx+apache实现网站的ssl加密(https)
- dba_object查询到表名,select ...from 表名查询不到
- Linux 下修改或者重命名用户名称或者UID/GID
- OpenGL 环境配置
- Thinkphp下如何处理用户单设备登陆
- java主流框架的作用
- Android Activity的启动与创建
- VMware10.0安装Mac OS X 10.11超详细教程
- android新特性: 底部导航栏BottomNavigationView系统库与第三方库的两种不同库的使用方法
- JAVA实现跨平台的原理?