資料庫MySQL之儲存過程

2022-07-26 22:30:14 字數 1141 閱讀 1214

儲存過程是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。其在思想上與物件導向程式設計中函式的定義與呼叫一致,儲存過程只是sql語言維度上的封裝與運用。

優點:1) 簡化了儲存呼叫者的步驟,降低了儲存呼叫者的學習成本

2) 隱藏了儲存過程的實際邏輯,易於商業內容的保密

3) 降低了sql呼叫方的程式複雜度

缺點:儲存過程受限於資料庫語言,移植性較差

1) 宣告語句結束符:delimiter $$

注:語句結束符預設是 ; 宣告語句結束符將其變成 $$,這樣在過程體中的分號傳遞到伺服器時,不會被客戶端解釋。

2) 宣告儲存過程:create procedure demo_demrystv (in param_in int) 

3) 建立儲存過程 create procedure 儲存過程名( 引數 ) 

4) 宣告儲存過程的開始和結束:begin...end

5) 變數賦值 set @param_in = 33

在開發中,比如想要向資料庫中迴圈插入日期,可以通過mysql中的儲存過程來實現。

delimiter $$

drop procedure if exists create_date $$

create procedure create_date (s_date date, e_date date)

begin

set @datesql = 'create table if not exists date_table (

`date` date not null,

unique key `unique_date` (`date`) using btree

)engine=innodb default charset=utf8';

prepare stmt from @datesql;

execute stmt;

while s_date

<=e_date do

insert ignore into date_table values (date(s_date)) ;

set s_date = s_date + interval 1day ;

end while ;

end$$

delimiter ;

MySQL資料庫之儲存過程

儲存過程簡單來說,就是為以後的使用而儲存的一條或多條mysql語句的集合。可將其視為批件,雖然它們的作用不僅限於批處理。在我看來,儲存過程就是有業務邏輯和 流程的集合,可以在儲存過程中建立表,更新資料,刪除等等。乙個簡單的儲存過程 create procedure porcedurename beg...

mysql資料庫 儲存過程

類似於 函式 是一組為了完成特定功能的sql語句集,第一次編譯,以後可以直接呼叫不需要再次編譯。根據定義的不同需要傳入引數 1 增強sql語言的功能和靈活性 儲存過程可以用控制語句編寫,有很強的靈活性,可以完成複雜的判斷和較複雜的運算。2 標準元件式程式設計 儲存過程被建立後,可以在程式中被多次呼叫...

資料庫之儲存過程

資料庫物件包括 表 索引 規圖 儲存過秳 觸發器 儲存過秳是資料庫重要的物件。是一組為了完成特定功能的sql詢句集。作用是 1.儲存過秳是在創造進行編譯的。之後每次執行儲存過程不需要重新編譯,而一般sql詢句需要每執行一次就編譯一次。2.當對資料庫迕行複雜操作時 如對多個表進行update,inse...