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
就到這裡。