从Select语句看Oracle查询原理

对数据表要进行备份可以在同一表空间里新建一张表:CREATE TABLE T_BAK AS SELECT * FROM T
如果要对某些表或视图建立同义词可以通过语句执行:
Oracle代码
select 'create or replace public synonym '||table_name||' for user.'||table_name||';' from user_tables
select 'create or replace public synonym '||view_name||' for user.'||view_name||';' from user_views
select 'create or replace public synonym '||sequence_name||' for user.'||sequence_name||';' from user_sequences
同样可以利用这个语句执行删除:
Oracle代码
select 'drop table '||table_name||';' from user_tables
where table_name like '%T%'
select 'drop PUBLIC SYNONYM '||table_name||';' from user_tables
where table_name like '%T%'
要导出用户下的表的方法:
Oracle代码
exp user/password@Database file="D:\orcl.dmp" log="D:\orcl.log"
要导入用户下的某些表的方法:
Oracle代码
imp user/password@Database file=D:\backup\oracle\tablebak.dmp fromuser = user1 tables=t_XXX touser=user
新建sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。
Oracle代码
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
更改表索引的表空间:
Oracle代码
select 'alter index '||index_name||' rebuild tablespace T_INDEX;'
from user_indexes
where owner='×××' and
table_name in ('×××', '×××');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值