如何匯出Oracle的儲存過程為Sql語句

2022-08-28 11:36:16 字數 1210 閱讀 4932

oracle中,過程、type、函式等物件的原始碼可以通過user_source或dba_source查詢;注意觀察查詢結果中,帶有line欄位,表示該段原始碼的行號。

所以我們可以通過拼接"create or replace package"拼接查詢結果,生成建立過程、函式等的sql語句,舉例:

set heading off;

set feedback off;

--每行限制200,不然儲存過程換行會報錯

set linesize 200;

spool prc.sql;

select text

from (select name,

type,

line,

case a.line

when 1 then

'create or replace ' || a.text

else

a.text

end text

from user_source a

where type in ('procedure', 'package', 'package body')

and a.name <> 'pr_test_proc'

union all

--每個儲存過程後需加/ 否則不會執行

select distinct b.name, b.type, max(b.line) + 1 line, '/'

from user_source b

where type in ('procedure', 'package', 'package body')

and b.name <> 'pr_test_proc'

group by b.name, b.type) t

join user_objects s

on t.name = s.object_name

and t.type = s.object_type

--where s.status = 'valid'

order by t.name, t.type, t.line;

select 'quit' from dual;

spool off;

quit

生成的prc.sql就是我們要的結果啦,可以拿到其他伺服器直接執行。

Oracle批量匯出儲存過程

法一 pl sql工具匯出 法二 set echo off set heading off set feedback off spool c documents and settings administrator 桌面 proc.sql 1 用sys使用者等陸的話 select text from...

如何開發ORACLE儲存過程

在我的上乙個銀行專案中,我接到編寫oracle儲存過程的任務,我是程式設計師,腦袋裡只有一些如何使用callable介面呼叫儲存過程的經驗,一時不知如何下手,我查閱了一些資料,通過實踐發現編寫oracle儲存過程是非常不容易的工作,即使上路以後,除錯和驗證非常麻煩。簡單地講,oracle儲存過程就是...

如何開發ORACLE儲存過程

一.概述 oracle儲存過程開發的要點是 使用notepad文字編輯器,用oracle pl sql程式語言寫乙個儲存過程 在oracle資料庫中建立乙個儲存過程 在oracle資料庫中使用sql plus工具執行儲存過程 在oracle資料庫中修改儲存過程 通過編譯錯誤除錯儲存過程 刪除儲存過程...