创建表时给表指定对应的表空间,当我不需要时 能否删除对应的表空间引用?有相应的语法吗?麻烦大虾指点。比如我创建了a表
createl a
(
a varchar2(1)
)
tablespace xxxx;并指定了所引用的表空间,
当我不需要a表对应的表空间xxx时,如何删除他们之间的引用,前提当然不是我把a表删除。麻烦大虾指点迷经。
createl a
(
a varchar2(1)
)
tablespace xxxx;并指定了所引用的表空间,
当我不需要a表对应的表空间xxx时,如何删除他们之间的引用,前提当然不是我把a表删除。麻烦大虾指点迷经。
--建立表时你可以给表指定表空间:
create table test(
id number,
name varchar2(10)
)
tablespace users;
--如果没指定表空间,那么建表时将表建立在用户默认的表空间里面
--什么叫我不需要a表就应的表空间?
--将表建立在另一个表空间不就可以了多看看书吧......
还是指定表空间,表总是存在一个表空间中,
不可能脱离表空间凭空存在
你可以通过查询视图来查看表所在的表空间
select t.TABLE_NAME,t.TABLESPACE_NAME from user_tables t where t.TABLE_NAME='你的表名';
你可以将表移到别的表空间
alter table 表名 move tablespace 新表空间名;
如果我不用我指定的表空间了,如何切换到 原来的默认表空间去,? 还是用
alter table tablename move tablespace newtablespacename, 这种形式, 直接切换下?
谢了, 切换的语句我知道。现在是这样的一个情形,
我自己写了一个oracle升级的脚本。 对原来的数据库结构进行了修改。同时也修改了表空间信息
一旦当我需要回滚时,我想切换回原来的表空间。 如果其他方式的话, 只有在执行升级脚本前 就查询出默认的表空间。在回滚脚本中 用您说的切换语句 move 转移了。
如果要移动到别的表空间:
修改表空间
alter table table_name move tablespace tablespace_name
修改索引的表空间
alter index index_name rebuild tablespace tablespace_name