什麼是mysql儲存過程 什麼是mysql儲存過程

2021-10-17 12:30:34 字數 1842 閱讀 2130

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語言的功能和靈活性。儲存過程可 以用流控制語句編寫,有很強...