儲存過程(stored procedure)是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,儲存在資料庫中,經過第一次編譯後再次呼叫不需要再次編譯,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。儲存過程是資料庫中的乙個重要物件。
create procedure [擁有者.]儲存過程名[;程式編號]
[(引數#1,…引數#1024)]
[with
] [for replication]
as 程式行
其中儲存過程名不能超過128個字。每個儲存過程中最多設定1024個引數
(sql server 7.0以上版本),引數的使用方法如下:
@引數名資料型別[varying] [=內定值] [output]
每個引數名前要有乙個「@」符號,每乙個儲存過程的引數僅為該程式內部使用,引數的型別除了image外,其他sql server所支援的資料型別都可使用。
[內定值]相當於我們在建立資料庫時設定乙個欄位的預設值,這裡是為這個引數設定預設值。[output]是用來指定該引數是既有輸入又有輸出值的,也就是在呼叫了這個儲存過程時,如果所指定的引數值是我們需要輸入的引數,同時也需要在結果中輸出的,則該項必須為output,而如果只是做輸出引數用,可以用cursor,同時在使用該引數時,必須指定varying和output這兩個語句。
1系統儲存過程
以sp_開頭,用來進行系統的各項設定.取得資訊.相關管理工作。
2本地儲存過程
使用者建立的儲存過程是由使用者建立並完成某一特定功能的儲存過程,事實上一般所說的儲存過程就是指本地儲存過程。
3臨時儲存過程
分為兩種儲存過程:
一是本地臨時儲存過程,以井字型大小(#)作為其名稱的第乙個字元,則該儲存過程將成為乙個存放在tempdb資料庫中的本地臨時儲存過程,且只有建立它的使用者才能執行它;
二是全域性臨時儲存過程,以兩個井字型大小(##)號開始,則該儲存過程將成為乙個儲存在tempdb資料庫中的全域性臨時儲存過程,全域性臨時儲存過程一旦建立,以後連線到伺服器的任意使用者都可以執行它,而且不需要特定的許可權。
4遠端儲存過程
在sql server2005中,遠端儲存過程(remote stored procedures)是位於遠端伺服器上的儲存過程,通常可以使用分布式查詢和execute命令執行乙個遠端儲存過程。
5擴充套件儲存過程
擴充套件儲存過程(extended stored procedures)是使用者可以使用外部程式語言編寫的儲存過程,而且擴充套件儲存過程的名稱通常以xp_開頭。
create procedure sp_name
@[引數名] [型別],@[引數名] [型別] as
begin
.........
end以上格式還可以簡寫成:
create proc sp_name
@[引數名] [型別],@[引數名] [型別] as
begin
.........
end/*注:「sp_name」為需要建立的儲存過程的名字,該名字不可以以阿拉伯數字開頭*/
1.基本語法:exec sp_name [引數名]
1.基本語法:
drop procedure sp_name
2.注意事項
(1)不能在乙個儲存過程中刪除另乙個儲存過程,只能呼叫另乙個儲存過程
1.show procedure status
顯示資料庫中所有儲存的儲存過程基本資訊,包括所屬資料庫,儲存過程名稱,建立時間等
2.show create procedure sp_name
顯示某乙個mysql儲存過程的詳細資訊
3、exec sp_helptext sp_name
顯示你這個sp_name這個物件建立文字
java呼叫儲存過程,儲存過程在java中用法
先查出一條資料,更新這條資料,只貼呼叫過程的 只有傳參沒有返回 string call 呼叫語句 callablestatement proc pagedbconnection.getconnection preparecall call 呼叫儲存過程 這個儲存過程無返回值 需要注意的是儲存過程的字...
Java程式中呼叫儲存過程
該方法用來呼叫oracle儲存過程 param con 資料庫連線 param parameter傳入儲存過程的引數值 throws sqlexception sql 異常 public void execute connection con,string sp name,string parame...
java中jdbc呼叫儲存過程
儲存過程具有高效,安全,方便快捷等特點,一直深受廣大程式設計者的喜愛,jdbc也為我們提供了與儲存過程打交道的通道。通過callablestatement我們可以呼叫儲存過程。可以呼叫無引數,有輸入引數和輸出引數的儲存過程。create definer root localhost procedur...