oracle查看创建索引语句,ORACLE下如何获得全部的索引创建语句
ORACLE下如何獲得全部的索引創建語句
ORACLE下如何獲得全部的索引創建語句
今天打算將一個數據庫的索引在另一個測試庫上重新創建一遍,研究了一下。
set pagesize 0
set long 90000
set feedback off
set echo off
spool all_index.sql
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
from USER_INDEXES u;
spool off;
最后找個編輯器替換一下表空間名,在表空間名后面加上個;
然后讓ORACLE慢慢執行吧
其實是調用DBMS_METADATA.GET_DDL這個外部過程來獲得創建DLL語句,還能獲得很多東西
這個是所有用戶的創建DLL
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
from DBA_USERS U;
這個是所有表的DLL
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
from USER_TABLES u;
所有表空間的DLL
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
from DBA_TABLESPACES TS;
組合一下,所有表,索引存儲過程
SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)
from USER_OBJECTS u
where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');
另外一個相關的語句生成刪除某個用戶全部索引的語句
select 'drop index '||index_name||';' form user_indexes;
相關文檔:
從oracle 9i 開始,提供了一個叫做“管道化表函數”的概念,可以利用管道化來返回表函數。
但這種類型的函數,必須返回一個集合類型,且標明 pipelined以及不能返回具體變量,而是以一個空 return 返回!
這個函數中,通過 pipe row () 語句來送出要返回的表中的每一行
在調用這個函數的時候,通過 table() 關� ......
總結
以上是生活随笔為你收集整理的oracle查看创建索引语句,ORACLE下如何获得全部的索引创建语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股市里st代表什么意思
- 下一篇: centos配置oracle自启,cen