超级SQL之数据库导入导出——oracle

1 SQL:
select  
' alter table  '   ||  a.table_name  ||   '  modify  '   ||  a.column_name  ||   '  VARCHAR2( '   ||  a.DATA_LENGTH  ||   ' ); '   AS  modify_col,
' update  '   ||  a.table_name  ||   '  set  '   ||  a.column_name  ||   ' =trim( '   ||  a.column_name  ||   ' ); '  update_data 
from  user_tab_columns a,user_tables b 
where  a.table_name = b.table_name  and  b.tablespace_name = '表空间名全大写 '   and  a.data_type = ' CHAR '
and  a.table_name ='TABLENAME'

功能:查找出字段类行为char的表的名字及字段名,并直接拼成alter语句,注意的是数据库的对象名肯定是全部大写。

2。SQL:

select table_name ,column_name from  user_tab_columns  where table_name)=''TABLENAME'

根据上一句得来的

3.SQL:select 'DROP INDEX "用户名"."' || index_name || '";' from user_ind_columns where table_name='TABLENAME'

查找该用户空间下的索引。select *  from user_ind_columns

select * from user_indexes order by table_name;

4。有个转贴的 select CONSTRAINT_NAME,CONSTRAINT_TYPE,INDEX_NAME from user_constraints

这个可以知道索引类型,是主键还是其他约束。

这个的地址:http://www.eygle.com/archives/2006/02/oracle9i_enhancement_keep_index.html

5。SQL: select text from all_source where owner=user

查找该用户下的用户的存储过程和函数原文。

6。总结一下第一招

如果记录条数非常多,你有没想到如何批量导出导入,就是这直接让他生成SQL,这样只要执行SQL就行了

select distinct 'update tablename set col1=1 where col2=' || col2 ||';' from  tablename

 

就到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值