oracle 之向表中快速插入数据
(2012-11-25 23:14:59)
标签:
新建表中快速插入数据setunusedtruncatetablecomment注释 |
分类: oracle |
--1.使用子查询创建表举例(创建表和插入数据结合起来)
--a.快速将一张表中的数据导入新建的表中,非常有效
create table
emp_test
as
select * from emp;
--b.也可选择表中的个字段的数据导入新建的表中,可以带where
条件
create table emp_test
as
select empno,ename,sal,job from emp where deptno=10
--2.使用 ALTER TABLE 语句追加, 修改, 或删除列的语法.
alter table emp_test add
sex char(2)
alter table emp_test modify sex char(2) default '男'(可以修改列的数据类型, 尺寸,
和默认值)
alter table emp_test drop column sex
--3.SET
UNUSED (使用 SET UNUSED 使一个或多个列被标记为不可用)
--原理:清楚掉字典信息(撤消存储空间),不可恢复
--说明:这种方法其实数据也可恢复,但必须有sys或者sysoper权限
用法:1)alter table users1 set unused
(username,sex)--括号里面的参数可多个
应用的场合:
再drop。如系统负载不大,也可以直接drop。
执行 ALTER TABLEABC DROP (COLUMN);可能会收到 ORA-01562 - failed to extend
rollbacksegment number string,
这是因为在这个删除栏位的过程中你可能会消耗光整个RBS,造成这样的错误出现,
因此这样的做法并不是一个好方法,就算你拼命的加大RBS空间来应付这个问题,也不会是个好主意。
good idea 产生了.....
不要马上drop
column,应该先setunused让column无法使用,避开系统尖峰时间再来处理删除栏位里的资料,要注意的
是一但你set unused column,这个栏位是无法再回复使用的。
--4.清空表(TRUNCATE TABLE
语句:删除表中所有的数据,释放表的存储空间)
--说明:执行速率快,删除页面全部数据,但是不能回滚,表结构还在
--5.comment
注释(规范)
comment on table users is
'这是一个用户表,字段有userid,username';--给表加注释
select * from user_tab_comments where
table_name='users';--查询表注释
comment on column users.userno is
'用户编号'
comment on column users.username is
'用户姓名';--给列加注释
select * from user_col_comments where table_name='users' and
column_name='userno';--查询列注释
--可以通过下列数据字典视图查看所添加的注释:
ALL_COL_COMMENTS
USER_COL_COMMENTS
ALL_TAB_COMMENTS
USER_TAB_COMMENTS

加载中…