如何在指定的表空间下查询表 如何在指定的表空间下查询表。一条SELECT语句来完成。谢谢了~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from all_tables where tablespace_name='USERS'USERS是表空间名,你可以换下 你理解错我的意思了。比如ADMINSPACE下有TABLE I和TABLE II而TESTSPACE下有TABLE III和TABLE IV我想指定在ADMINSPACE 下查询TABLE I。比如是像这样SELECT * FROM [TABLE II] FOR ADMINSPACE 一条语句哦。 SELECT * FROM ADMINSPACE.TABLE1 CREATE TABLESPACE newspace DATAFILE 'e:\OracleUser\newspace.dbf' SIZE 10m;CREATE TABLE newtbl(ID NUMBER) TABLESPACE newspace;SELECT * FROM newspace.newtbl;ORA-00942: 表或视图不存在 理解错了你的意思,以为是schema 是我理解错误吗?我刚才所做的操作应该是在用户默认的表空间啊。而刚刚的那个newspace是新建的。如果只是SELET * FROM newtbl;是没有问题的。但是当我ALTER TABLESPACE newspace OFFLINE;的话就会查不到。你能解释下吗。当我建完newspace之后我到底是在用户的默认表空间还是在newspace表空间。还是另有解释呢? CREATE TABLE newtbl(ID NUMBER) TABLESPACE newspace; 建表时你已经指定了这个表在newspace下面啊 我的理解是,表空间属于物理结构,表,schema之类属于逻辑结构。 我觉得表空间并不是一个物理结构 而是逻辑结构楼主首先要搞清楚SCHEMA和TABLESPACE分别是什么概念。举例子来说吧两个用户U1和U2 在创建用户的时候会给该用户指定其默认表空间 也就是说 如果这个用户在创建表或者其他对象的时候没有使用TABLESPACE子句指定创建在哪个表空间下的话 那么ORACLE就会把这个用户创建的对象放在这个用户的默认表空间下我们在这里假设U1的默认表空间为TBS1 用户U2的默认表空间为TBS2U1建了T1表 该表在TBS1中U2建了T2表 该表在TBS2中我觉得楼主的意思是:用户U2想查询用户U1所创建的T1表的时候应该使用如下语句:select * from TBS1.T1可实际上这样的语法在ORACLE中是错误的。而且也没有任何意义呀楼主仔细想想有什么意义在ORACLE中正确的查询方法应该是如下所示:select * from U1.T1在这里表名T1前面加上了U1.这个前缀 表明T1这个表是属于用户U1的 如果U2想查询 还需要一定的权限才行关于SCHEMA的概念楼主可以参考下面的链接http://blog.csdn.net/wh62592855/archive/2009/09/27/4599333.aspx oracle中通过时间查询内容的问题 请教一个日志分析的问题 oracle中如何查询表被锁定状态 怎么编译pro*c? (unix下)———在线等!!!! 100分 问一下 这个动态sql语句怎么实现? 怎样修改一个表的列名? 如何取到“微秒”? oracle全文索引为什么不对?请教原因 导入数据失败??? 请教高手Develop Suite的问题,马上给分!! 查找某段日期某段时间的数据 怎么样封装一个已写好的 SQL 语句来统计这个sql 的条数?
USERS是表空间名,你可以换下
我想指定在ADMINSPACE 下查询TABLE I。比如是像这样SELECT * FROM [TABLE II] FOR ADMINSPACE 一条语句哦。
CREATE TABLESPACE newspace DATAFILE 'e:\OracleUser\newspace.dbf' SIZE 10m;CREATE TABLE newtbl(ID NUMBER) TABLESPACE newspace;SELECT * FROM newspace.newtbl;ORA-00942: 表或视图不存在
建表时你已经指定了这个表在newspace下面啊
举例子来说吧
两个用户U1和U2 在创建用户的时候会给该用户指定其默认表空间
也就是说 如果这个用户在创建表或者其他对象的时候没有使用TABLESPACE子句指定创建在哪个表空间下的话 那么ORACLE就会把这个用户创建的对象放在这个用户的默认表空间下
我们在这里假设U1的默认表空间为TBS1 用户U2的默认表空间为TBS2
U1建了T1表 该表在TBS1中
U2建了T2表 该表在TBS2中我觉得楼主的意思是:用户U2想查询用户U1所创建的T1表的时候应该使用如下语句:
select * from TBS1.T1
可实际上这样的语法在ORACLE中是错误的。而且也没有任何意义呀
楼主仔细想想有什么意义
在ORACLE中正确的查询方法应该是如下所示:
select * from U1.T1
在这里表名T1前面加上了U1.这个前缀 表明T1这个表是属于用户U1的 如果U2想查询 还需要一定的权限才行关于SCHEMA的概念楼主可以参考下面的链接
http://blog.csdn.net/wh62592855/archive/2009/09/27/4599333.aspx