oracle之表管理

联系:手机(13429648788)  QQ(107644445)

链接:https://www.orasos.com/oracle%e4%b9%8b%e4%b8%b4%e6%97%b6%e8%a1%a8%e5%88%9b%e5%bb%ba.html

标题:oracle之表管理

作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

1、创建session级别的临时表(commit后数据还会保留)
1)create global temporary table tem_session on commit preserve rows
as select rowid rid,id from a;
2) create global temporary table tem_fei(id number,a varchar2(10))
on commit preserve rows;

2、创建commit级别的临时表(commit后数据清空)
1)create global temporary table tem_xff on commit delete rows
as select * from a;
2)create global temporary table tem_a (id int,abc number)
on commit delete rows;
note:当session退出或者数据库重启后临时表会被清空,但是临时表的结构还是保存在数据库里面的,还是可以直接插入数据等操作

3、修改表的所属表空间
1)查看表所属表空间
select table_name,tablespace_name from user_tables;
2)查看哪些表空间
select name from v$tablespace;
3)修改表所属表空间
alter table a move tablespace users;

4、删除表中若干列
设置为unused
alter table tt set unused column z cascade constraints;
每次删除1000条提交commit
alter table tt drop unused columns checkpoint 1000;
如果中断继续执行
alter table tt drop columns continue checkpoint 1000;
直接删除一列
alter table tt drop column y;

5、查看表的结构

--1)desc
desc tablename
--2)dbms_metadata.get_ddl
set long 100000
 set pages 0
select dbms_metadata.get_ddl('TABLE','tablename') from dual;