mysql中的儲存過程指的是儲存在資料庫中的sql語句集合,當建立好儲存過程後在執行時提供所需引數,儲存過程就可以以**指定的方式使用引數執行並返回值
在mysql中提供了建立儲存過程的能力。儲存過程是mysql以及其他資料庫管理系統中的強大功能。接下來在文章中將為大家具體介紹mysql中的儲存過程,具有一定的參考作用,希望對大家有所幫助。
儲存過程:
儲存過程指的是儲存在資料庫中的sql語句的集合。儲存過程它可以包含業務邏輯,這是區分儲存過程和檢視的關鍵之一。另外儲存過程還可以接受引數,我們可以在儲存過程中設定變數,寫入語句等。
儲存過程如何工作
首先要先建立乙個儲存過程然後再執行。在執行的過程中需要提供它所需要的引數,然後儲存過程將以**指定的任何方式使用引數執行。例如,編寫乙個接受fruitid引數的儲存過程。然後在儲存過程可以獲取該引數並使用它來檢查該特定水果的庫存。因此我們可以呼叫儲存過程,即每次使用不同的水果id它都將返回乙個值,並顯示該庫存中有多少水果。
建立儲存過程
我們可以通過create procedure語句建立儲存過程create procedure demo_name(p_1 int)
begin
...code goes here...
end;
demo_name指的是儲存過程的名稱,括號是必須的,如果裡面不包含任何引數則括號可以為空
儲存過程的主體是介於begin和end關鍵字之間。這些關鍵字用於編寫復合語句。復合語句可以包含多個語句,如果需要,可以巢狀這些語句。
例:建立乙個儲存過程名為fruitstock:delimiter //
create procedure fruitstock(thisfruit smallint)
begin
select
fruit.fruitname,
fruit.inventory,
units.unitname
from
fruit inner join units on
fruit.unitid = units.unitid
where
fruit.fruitid = thisfruit;
end //
delimiter ;
建立好了乙個儲存過程,接下來將呼叫這個儲存過程
呼叫乙個引數為1的idcall fruitstock(1);
刪除儲存過程
可以使用drop procedure語句刪除儲存過程。drop procedure fruitstock;
改變儲存過程
在儲存過程中可通過下列語句更改儲存過程alter procedure。
需要注意要更改儲存過程的主體或其任何引數時,需要刪除該過程然後再次建立
例:新增fruit.fruitid所要返回的列表drop procedure if exists fruitstock;
delimiter //
create procedure fruitstock(thisfruit smallint)
begin
select
fruit.fruitid,
fruit.fruitname,
fruit.inventory,
units.unitname
from
fruit inner join units on
fruit.unitid = units.unitid
where
fruit.fruitid = thisfruit;
end //
delimiter ;
什麼是儲存過程
sql語句執行的時候要先編譯,然後執行。儲存過程就是編譯好了的一些sql語句。應用程式需要用的時候直接呼叫就可以了,所以效率會高。儲存過程介紹 儲存過程是由流控制和sql語句書寫的過程,這個過程經編譯和優化後儲存在資料庫伺服器中,應用程式使用時只要呼叫即可。在oracle中,若干個有聯絡的過程可以組...
什麼是儲存過程?
一 儲存過程介紹 儲存過程是由流控制和sql語句書寫的過程,這個過程經編譯和優化 後儲存在 資料庫伺服器中,使用時只要呼叫即可。在oracle中,若干個 有聯絡的過程可以組合在一起構成 程式包。使用儲存過程有以下的優點 儲存過程的能力大大增強了sql語言的功能和靈活性。儲存過程可 以用流 控制語句編...
什麼是儲存過程
儲存過程介紹 儲存過程是由流控制和sql語句書寫的過程,這個過程經編譯和優化 後儲存在資料庫伺服器中,使用時只要呼叫即可。在oracle中,若干個 有聯絡的過程可以組合在一起構成程式包。使用儲存過程有以下的優點 儲存過程的能力大大增強了sql語言的功能和靈活性。儲存過程可 以用流控制語句編寫,有很強...