1. 程式人生 > >PL/SQL 批量生成匯出Oracle方法、儲存方法的指令碼

PL/SQL 批量生成匯出Oracle方法、儲存方法的指令碼

1,首先開啟PL/SQL 工具,點選“Tools”-“Export User Objects”選單,開啟“選擇”對話方塊。

2,在“選擇”對話方塊中,在“User”區域,選擇當前“使用者”  

3,選擇使用者(本例為LXJ),在選擇相關方法,然後點選“選擇目錄” 按鈕,選擇對應的路徑與檔案,本例為(D:\1.sql),最後點選“Export”按鈕

4,點選“Export”按鈕後,即可在對話方塊中出現相關匯出成功標誌。

5,點選“View” 按鈕,出現相關的明細指令碼。檔案為:D:\1.sql

---------------------------------------------
-- Export file for user 
[email protected]
-- -- Created by demopc on 2019/1/4, 16:22:51 -- --------------------------------------------- set define off spool 1.log prompt prompt Creating function FUNC_DATE prompt =========================== prompt create or replace function lxj.func_date return number is FunctionResult number ; begin FunctionResult:=0; select 1 into FunctionResult from datatest; return(FunctionResult); end func_date; / prompt prompt Creating function FUNC_DATE11 prompt ============================= prompt create or replace function lxj.func_date11 return number is FunctionResult number ; begin FunctionResult:=0; select 1 into FunctionResult from datatest; return(FunctionResult); end func_date11; / prompt prompt Creating function FUNC_GET_SQL_MAXDATA prompt ====================================== prompt create or replace function lxj.FUNC_GET_SQL_MAXDATA(Device in varchar2, --裝置名稱 SampleName in varchar2, --樣品名稱 IndicatorName in varchar2, --監測指標名稱 RQSJ in varchar2) --日期 return number is FunctionResult number; --2018年12月3日,根據裝置名稱、樣品名稱、監測指標名稱、日期獲取指標前日7時至今日7時最大值 begin /*select max(t.hourvalue) into FunctionResult from SMES30.MES_MSSQL_HOURDATA t where t.pointname = Device and t.grouptypename = SampleName and t.keyname = IndicatorName and t.uptime >= TO_DATE(RQSJ, 'YYYY-MM-DD') - 1 + 7 / 24 and t.uptime <= TO_DATE(RQSJ, 'YYYY-MM-DD') + 7 / 24;*/ return(FunctionResult); EXCEPTION WHEN NO_DATA_FOUND THEN RETURN(0); WHEN OTHERS THEN RETURN(0); end FUNC_GET_SQL_MAXDATA; / prompt prompt Creating function FUNC_GET_SQL_MINDATA prompt ====================================== prompt create or replace function lxj.FUNC_GET_SQL_MINDATA(Device in varchar2, --裝置名稱 SampleName in varchar2, --樣品名稱 IndicatorName in varchar2, --監測指標名稱 RQSJ in varchar2) --日期 return number is FunctionResult number; --2018年12月3日,根據裝置名稱、樣品名稱、監測指標名稱、日期獲取指標前日7時至今日7時最大值 begin /*select min(t.hourvalue) into FunctionResult from SMES30.MES_MSSQL_HOURDATA t where t.pointname = Device and t.grouptypename = SampleName and t.keyname = IndicatorName and t.uptime >= TO_DATE(RQSJ, 'YYYY-MM-DD') - 1 + 7 / 24 and t.uptime <= TO_DATE(RQSJ, 'YYYY-MM-DD') + 7 / 24;*/ return(FunctionResult); EXCEPTION WHEN NO_DATA_FOUND THEN RETURN(0); WHEN OTHERS THEN RETURN(0); end FUNC_GET_SQL_MINDATA; / spool off