程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 超級SQL之數據庫導入導出——oracle

超級SQL之數據庫導入導出——oracle

編輯: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

 

就到這裡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved