oracle查看创建索引语句,ORACLE下如何获得全部的索引创建语句
ORACLE下如何獲得全部的索引創(chuàng)建語句
ORACLE下如何獲得全部的索引創(chuàng)建語句
今天打算將一個數(shù)據(jù)庫的索引在另一個測試庫上重新創(chuàng)建一遍,研究了一下。
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慢慢執(zhí)行吧
其實是調(diào)用DBMS_METADATA.GET_DDL這個外部過程來獲得創(chuàng)建DLL語句,還能獲得很多東西
這個是所有用戶的創(chuàng)建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 開始,提供了一個叫做“管道化表函數(shù)”的概念,可以利用管道化來返回表函數(shù)。
但這種類型的函數(shù),必須返回一個集合類型,且標明 pipelined以及不能返回具體變量,而是以一個空 return 返回!
這個函數(shù)中,通過 pipe row () 語句來送出要返回的表中的每一行
在調(diào)用這個函數(shù)的時候,通過 table() 關� ......
總結(jié)
以上是生活随笔為你收集整理的oracle查看创建索引语句,ORACLE下如何获得全部的索引创建语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股市里st代表什么意思
- 下一篇: centos配置oracle自启,cen