獲取單個檢視DDL指令碼
declare
v_text clob;
v_owner varchar2(30);
v_view_name varchar2(30);
v_count number;
v_loc number;
v_loc_s number;
v_len number;
-- select av.view_name,av.owner from all_views av where av.owner='J1_DW' and av.view_name='V_SB_QYSDSNDSSYHQKMXB'
begin
v_loc_s :=1;
v_owner :='J1_DW';
v_view_name :='V_SB_QYSDSNDSSYHQKMXB';
SELECT length(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner))-length(replace(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),''))
into v_count
FROM dual;
dbms_output.put_line(v_count);
SELECT length(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner)) into v_len FROM dual;
for i in 1..v_count loop
-- dbms_output.put_line(i);
select instr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),1,i) into v_loc from dual;
SELECT substr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),v_loc_s,v_loc-v_loc_s) INTO V_TEXT from dual;
-- SELECT substr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),1,1),1,instr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),1,1)) INTO V_TEXT from dual;
dbms_output.put_line(replace(v_text,chr(10),''));
-- dbms_output.put_line(v_text);
v_loc_s :=v_loc;
end loop;
SELECT substr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),v_loc_s,v_len-v_loc_s+1) INTO V_TEXT from dual;
dbms_output.put_line(replace(replace(v_text,';','')||';',chr(10),''));
end;
/
v_text clob;
v_owner varchar2(30);
v_view_name varchar2(30);
v_count number;
v_loc number;
v_loc_s number;
v_len number;
-- select av.view_name,av.owner from all_views av where av.owner='J1_DW' and av.view_name='V_SB_QYSDSNDSSYHQKMXB'
begin
v_loc_s :=1;
v_owner :='J1_DW';
v_view_name :='V_SB_QYSDSNDSSYHQKMXB';
SELECT length(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner))-length(replace(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),''))
into v_count
FROM dual;
dbms_output.put_line(v_count);
SELECT length(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner)) into v_len FROM dual;
for i in 1..v_count loop
-- dbms_output.put_line(i);
select instr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),1,i) into v_loc from dual;
SELECT substr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),v_loc_s,v_loc-v_loc_s) INTO V_TEXT from dual;
-- SELECT substr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),1,1),1,instr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),chr(10),1,1)) INTO V_TEXT from dual;
dbms_output.put_line(replace(v_text,chr(10),''));
-- dbms_output.put_line(v_text);
v_loc_s :=v_loc;
end loop;
SELECT substr(dbms_metadata.get_ddl('VIEW',v_view_name,v_owner),v_loc_s,v_len-v_loc_s+1) INTO V_TEXT from dual;
dbms_output.put_line(replace(replace(v_text,';','')||';',chr(10),''));
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-1770224/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 獲取表空間DDL
- 一個快速檢視trace的小指令碼指令碼
- 【C/C++】ghost ddl指令碼簡單實現C++指令碼
- PostgreSQL 函式獲取表DDLSQL函式
- oracle檢視物件DDL語句Oracle物件
- jenkins pipline指令碼 獲取git分支Jenkins指令碼Git
- (轉載)iOS中獲取某個檢視的截圖iOS
- 常用指令碼:獲取隱含引數指令碼
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- MongoDB 檢視DDL檢視not authorized on xxx to execute command { find: system.viewsMongoDBZedView
- shell指令碼獲取函式返回值指令碼函式
- shell指令碼獲取時間格式化指令碼
- 獲取sql完整指令碼,get_fulltext.shSQL指令碼
- MogDB/openGauss學習筆記-獲取物件DDL筆記物件
- 前端獲取視訊編碼格式前端
- Shell指令碼 – 檢視網路介面資訊指令碼
- Oracle中獲取TABLE的DDL語句的方法Oracle
- Linux c程式中獲取shell指令碼輸出(如獲取system命令輸出)LinuxC程式指令碼
- Oracle運維指令碼-巡檢(單機版)Oracle運維指令碼
- 自定義檢視指令
- 2 個簡單的 python 指令碼,連線 MySQL 和讀取 ExcelPython指令碼MySqlExcel
- [20180814]慎用檢視錶壓縮率指令碼.txt指令碼
- Linux中檢視指令碼程式是否存在的命令!Linux指令碼
- Laravel 通過遷移指令碼建立MySQL檢視Laravel指令碼MySql
- Laravel 透過遷移指令碼建立MySQL檢視Laravel指令碼MySql
- Android自動化-如何獲取檢視元素屬性?Android
- 【Redis】獲取沒有設定ttl的key指令碼Redis指令碼
- vbs指令碼獲取Am註冊路徑資訊指令碼
- 獲取AWR的指令碼,可以在crontab裡面部署指令碼
- jQuery獲取表單值及幾個表單事件jQuery事件
- v$parameter gv$parameter 檢視 DDL 與隱含引數
- 如何使用 Shell 指令碼來檢視多個伺服器的埠是否開啟?指令碼伺服器
- dba巡檢指令碼指令碼
- mysql巡檢指令碼MySql指令碼
- win10怎麼獲取wifi 密碼_win10系統wifi密碼怎麼檢視Win10WiFi密碼
- Vue mock模擬獲取資料 迴圈遍歷檢視VueMock
- python 中如何判斷獲取檢視變數的型別Python變數型別
- Linux Shell獲取正在執行指令碼的絕對路徑Linux指令碼
- Python指令碼的常見引數獲取和處理方式Python指令碼