當前位置:首頁 » 存儲配置 » 存儲過程導出

存儲過程導出

發布時間: 2023-07-30 14:40:13

『壹』 Oracle批量導出存儲過程(保持每個存儲過程獨立)

略微復雜,需要存儲過程實現。

1、創建輸出路徑,比如你要在d盤test目錄下輸出,你就先在d盤根目錄下建立一個test的目錄。

2、sqlplus下以sysdba登錄,執行以下語句

createorreplacedirectoryTMPas'd:	est';

grantread,writeondirectoryTMPtoscott;--比如我用的scott用戶

altersystemsetutl_file_dir='d: est'scope=spfile;

3、以上步驟執行完,需要重啟資料庫

4、創建一個存儲過程,代碼如下(基本是不用改動,原封復制即可):

CREATEORREPLACEPROCEDURESP_OUTPUT_PROCEDUREis
file_handleutl_file.file_type;
Write_contentVARCHAR2(1024);
Write_file_nameVARCHAR2(50);
v_namevarchar2(50);
v_textvarchar2(2000);
cursorcur_procere_nameis
selectdistinctnamefromuser_sourcewheretype='PROCEDURE';
cursorcur_sp_outis
selectt.text
from(select0line,'CREATEORREPLACE'text
fromal
union
selectline,text
fromuser_source
wheretype='PROCEDURE'
andname=v_name)t
orderbyline;
begin
opencur_procere_name;
loop
fetchcur_procere_name
intov_name;
exitwhencur_procere_name%notfound;
write_file_name:=v_name||'.txt';
opencur_sp_out;
loop
fetchcur_sp_out
intov_text;
exitwhencur_sp_out%notfound;
file_handle:=utl_file.fopen('TMP',write_file_name,'a');
write_content:=v_text;
--writefile
IFutl_file.is_open(file_handle)THEN
utl_file.put_line(file_handle,write_content);
ENDIF;
--closefile
utl_file.fclose(file_handle);
endloop;
closecur_sp_out;
endloop;
closecur_procere_name;
end;

5、創建完畢執行存儲過程,這個就不贅述了,執行完畢後,你會發現d盤test目錄下的文件名就是以存儲過程名命名的txt文件,如圖:

『貳』 如何導出存儲過程

SQL存儲過程的導出導入 SqlServer存儲過程的導出導入
打開「企業管理器」,選擇需要導出存儲過程的資料庫,按右鍵,選擇「所有任務」,打開「生成SQL腳本

打開「生成SQL腳本」窗口,點擊「全部顯示」按鈕


選擇「全部存儲過程」,其他的「設置格式」和「選項」標簽,可以看一下,默認可以不設置,最後點擊「確定」按鈕,選擇保存位置,輸入文件名,即可把當前資料庫的存儲過程全部導出成一個*.sql文件。如下圖

以上是存儲過程的導出過程,如果再導入到另一個資料庫呢?以下我們要用到「SQL查詢分析器」
先選擇需要導入存儲過程的資料庫,點擊「工具」菜單的「SQL查詢分析器」,

打開後,選擇「文件」菜單→「打開」,找到剛才生成的*.sql文件,打開後,選擇「查詢」菜單中的「分析」命令,如果顯示「命令全部成功完成」,

則繼續選擇「查詢」菜單中的「執行」命令。提示全部完成後,打開該資料庫的存儲過程即可看到剛才導出的存儲過程。
1. manger studio--右鍵你的資料庫--任務--生成腳本
在腳本生成向導的"選擇對象類型"步驟中, 將"存儲過程"選上, 在接下來的"選擇存儲過程"的步驟中, 選擇所有的存儲過程(或者你要復制的存儲過程)
完成後, 所有存儲過程的腳本會生成在一個新的查詢窗口中, 關掉生成腳本向導, 在生成的存儲過程腳本的窗口中, 右鍵--連接--更改連接, 連接到存儲過程復制的目的伺服器, 選擇合適的資料庫, 按F5執行即可完成存儲過程的復制.
2. 可以使用SSIS, 創建SSIS包, 就可以使用資料庫對象復制的這個組件來復制存儲過程(SSIS相當於2000的DTS)

『叄』 如何把pl/sql中的存儲過程導出

1. 打開PL/SQL Developer如果 在機器上安裝了PL/SQL Developer的話,打開PL/SQL Developer界面輸入 用戶名,密碼和host名字,這個跟在程序中web.config中配置的完全相同,點擊確定 找到 需要調試的存儲過程所在的包(Package bodies),如PACK_ACTIVITY,點擊右鍵,在彈出菜單中選擇[查看],得到包中的所有存儲過程和他們的代碼. 2. 添加debug信息為了 能夠單步跟蹤存儲過程,需要為其所在的包添加debug信息,右鍵點擊需要調試的包,在彈出菜單中選中[添加調試信息].這樣 就為包體添加了調試信息。 3. 調 試存儲過程現在 所有的准備工作都做好了,可以調試跟蹤存儲過程了。選擇 需要調試的存儲過程,點擊右鍵,在彈出菜單中 選擇[測試],進去測試窗口.測試窗口中有為了測試該存儲過程自動所產生的代碼,當然你也可以自己另外加入和修改代碼,對於我們目前只是為了調試存儲過程, 自動生成的代碼已經足夠了。接著按照如下的步驟進行調試。(1)添加存儲過程所需要的參數,我們項目中的大多數存儲過程都是需要參數 的,參數可以在測試窗口右下部分輸入。如:GetPanNO_New需要一個輸入參數v_employeeid,我們輸入180,輸出參數是mycursor,是查看結果的,不需要輸入任何值。 (2)開始調試,點擊[調試]菜單->[開始](或者按F9),就進去調試模式了,程序開始停在begin這一行. (3)以後的調試過程跟我們熟悉的的調試過程就一樣了:運行(Ctrl+R)單步 進入(Ctrl+N)單步 跳過(Ctrl+O)單步 退出(Ctrl+T)或者 點擊debug工具條上的按扭:當按Ctrl+N進去存儲過程的源代碼中後 在這 個窗口中可以查看過程中的變數值和堆棧。 (4)調試運行完了後,可以查看結果如下(點擊mycursor變數旁邊的按鈕). 4. Tip 令人 比較郁悶的是我們項目中很多的存儲過程都是一個SELECT語句,不管這個SELECT語句多麼復雜(SELECT語句中有嵌套的子SELECT語句),它也只能作為一行代碼,單步跟蹤就沒有什麼意義了。

『肆』 如何使用PL/SQL工具批量導出表,存儲過程,序列

如何使用PL/SQL工具批量導出表,存儲過程,序列
首先登錄到資料庫中,通過PLSQL工具等到到資料庫,然後點擊工具欄上的tools(工具)

選擇導出用戶對象,點擊tools工具之後,向下查找Export User Objects功能,通過這個功能導出數據。

選擇需要導出的表或者序列或者存儲過程等。在Type列中展示的是對象屬性,表、序列和存儲過程等。

選擇多個導出的對象。按住ctrl鍵進行多選導出的對象。點擊Output File輸出文件路徑,選擇文件路徑輸入文件名稱,後綴是sql。

開始導出數據腳本。點擊Export按鈕,開始對選中的對象進行導出成數據腳本。

查看導出文件。導出完成後,雙擊打開導出後的文件,就可以看到是一些建表存儲過程等腳本。

『伍』 如何導出ORACLE指定存儲過程

1、要想連接到一個資料庫,先得配置一個tnsnames.ora文件。路徑位於 【XX】/NETWORK/ADMIN/tnsnames.ora。【XX】視具體情況而定。

截圖中紅框標記的地方需要改成你需要連接的資料庫的信息。


注意事項

若出現亂碼,可能需要將編寫的sql文件轉換為utf-8格式。

若提示無法創建spool文件,請確保目錄C:/EXP/DDL存在,或者指定新的路徑。

『陸』 如何將存儲過程返回的結果導出為Excel

SQL Server有一些工具可用來導出和導入數據。這些簡單的工具,例如T-SQL的BULK INSERT語句,或者是BCP工具,都可以將數據以純文本文件的形式傳輸。如果需要處理任何一種其他類型的文件的導入導出,則我們必須使用DTS設計器或者DTS向導構建一個DTS包。最終生成的DTS包是一個我們必須測試、維護和操作的獨立的對象。而傳輸數據的工作則變得更加復雜,即使我們只是想要將一個簡單的Excel文件傳輸到文件系統中。

這里,我建議使用一個簡單,但是很有用的T-SQL 存儲程序,它可以通過使用鏈接伺服器(linked server)技術將數據導出到Excel 中。

為了實現導出,你必須首先創建一個空的有固定名字的Excel文件,並將其放置在伺服器上。我把它命名為Empty.xls,並放置在c:temp的目錄下。這個文件不會被刪除,並且在裝入數據之前,作為目標Excel文件的模板使用。

Empty.xls文件被構建的時候,只含有一個工作頁,名為ExcelTable,其中的第一行(僅有的一行)包含如下字母: A,B,C,...Z。這些字母可作為Excel表的列名稱。這意味著在一個查詢中,我們可以導出26個列。(給定的存儲程序代碼可被修改,以支持結果集中含有更多的列的情況。只需要在Excel模板中簡單地書寫F1, F2 ,F3...,然後更改程序中相應列的列表即可反映出變化了。)

sp_write2Excel是一個T-SQL存儲過程,它獲取目標Excel文件的名字和路徑,結果集中列的數量,以及T-SQL查詢。在查詢中應該使用轉換函數將所有的非字元串數據導入列中,因為最終的Excel單元中數據實際上都是字元串格式的。

這個過程將empty.xls模板文件拷貝到新的目標Excel文件中。然後它再構建一個鏈接伺服器到剛才的文件中,並使用動態的T-SQL來構建這個Excel文件,並且使用插入/選擇語句來將數據寫入其中。

以下是程序代碼:
Create proc sp_write2Excel (@fileName varchar(100),
@NumOfColumns tinyint,
@query varchar(200))
as
begin
declare @dosStmt varchar(200)
declare @tsqlStmt varchar(500)
declare @colList varchar(200)
declare @charInd tinyint

set nocount on

-- 構建列的列表 A,B,C ...
-- 直到達到列的數量.

set @charInd=0
set @colList = 'A'
while @charInd < @NumOfColumns - 1
begin
set @charInd = @charInd + 1
set @colList = @colList + ',' + char(65 + @charInd)
end

-- 創建一個空的Excel 文件作為目標文件,通過拷貝模板Excel 文件來命名
set @dosStmt = ' c:tempempty.xls ' + @fileName
exec master..xp_cmdshell @dosStmt

-- 創建一個「臨時」的鏈接伺服器到剛才的文件中,以用於「導出」數據
EXEC sp_addlinkedserver 'ExcelSource',
'Jet 4.0',
'Microsoft.Jet.OLEDB.4.0',
@fileName,
NULL,
'Excel 5.0'

-- 構建一個T-SQL 語句,用於實際導出查詢結果
-- 到目標鏈接伺服器上的表中
set @tsqlStmt = 'Insert ExcelSource...[ExcelTable$] ' + ' ( ' + @colList + ' ) '+ @query

print @tsqlStmt

-- 執行動態的 TSQL語句
exec (@tsqlStmt)

-- 刪除鏈接伺服器
EXEC sp_dropserver 'ExcelSource'
set nocount off
end
GO

程序使用實例:
Use master
go
exec sp_write2Excel
--目標excel文件
'c:tempNorthProcts.xls' ,

-- 結果中列的數量
3,

-- 將要導出結果的查詢
'select convert(varchar(10),ProctId),
ProctName,
Convert (varchar(20),UnitPrice) from Northwind..Procts'

結論,這個程序可作為一個通用的工具將數據導出到Excel工作頁中,而BCP工具則只能將數據導出到文本文件中。

我們可以使用這個程序來代替DTS包設計器,以及DTS向導,每當需要調用這樣的動作的時候,都可以用它將數據導出到excel 文件中。

『柒』 xshell怎麼導出Mysql存儲過程

首先,導出存儲過程的命令如下,
mysqlmp -R -ndt dbname -u root -p > xxx.sql
另外,補充其他知識點,
查詢資料庫中的存儲過程
select * from mysql.proc where db = dbName and `type` = 'PROCEDURE'
show procere status;
查看存儲過程或函數的創建代碼
show create procere proc_name;
show create function func_name;

『捌』 如何備份SQL存儲過程批量導出資料庫存儲過程

打開SQL Server Management Studio查詢分析器,找到需要批量導出SQL存儲過程資料庫。右鍵菜單-任務-生成腳本。

進入的生成SQL Server腳本向導。點擊下一步。

選中要導出所有SQL存儲過程的資料庫。繼續下一步。

腳本選項,不用做修改,默認即可。

在選擇對象類型中,選擇存儲過程。

這樣可以看到這個資料庫中所有的SQL存儲過程,可以批量選擇SQL存儲過程,也可以全選所有的SQL存儲過程進行導出。

在腳本模式中,腳本保存到文件,選擇需要導出保存到電腦上的文件夾路徑。單個文件即所有SQL存儲過程都放在一個SQL文件中,不是每個SQL存儲過程獨立一個SQL文件。所以可以選擇每個對象一個文件。

設置向導完成,等待導出完成即可。

『玖』 在mysql中如何導出指定的存儲過程

方法一:從mysql維護的存儲過程表(mysql.proc)出:

select body
from mysql.proc
where name = 'simpleproc'
;

更詳細一點的:
select name , type , param_list ,returns , body , body_utf8
from mysql.proc
where name = 'simpleproc'
;

方法2:
select ROUTINE_DEFINITION , ROUTINE_TYPE , ROUTINE_NAME from information_schema.ROUTINES
where ROUTINE_NAME = 'simpleproc'
;

如果要導出,可以裝到一個表中導出:
create table mp_proc
as
select name, param_list ,returns, body
from mysql.proc
where name = 'simpleproc'
;

然後mp出來.或者 tee出到文件。

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:233
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:532
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726