儲存過程是一種在資料庫中儲存複雜程式,以便外部程式呼叫的一種資料庫物件。其在思想上與物件導向程式設計中函式的定義與呼叫一致,儲存過程只是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...