mysql 儲存過程例項

2021-07-02 13:05:48 字數 1178 閱讀 4313

#引數分為「in、out、inout」,in是輸入引數,在儲存過程中不可修改,out是輸出引數,inout是輸入輸出引數

begin

#當前日期

declare v_curr_date varchar(10);  #mysql中宣告變數時,沒有類似於oracle裡面的rowtype方式

#當前時間

declare v_curr_time varchar(19);

#異常宣告

declare done int default 0;    #迴圈退出時需要用到,否則會報錯

#游標宣告

declare v_procurement_cur cursor for

select tp.id, tp.currentstep, tp.currentstepid, tp.currentsteptime, tp.procedurestate

from t_procurement tp

where tp.projectid=p_projectid

#異常declare continue handler for sqlstate '02000' set done = 1;

#開啟游標

open v_procurement_cur;

#迴圈執行

repeat

fetch v_procurement_cur 

into v_procurementid, v_currentstep, v_currentstepid, v_currentsteptime, v_procedurestate;

if not done then

#業務處理

..............

end if;

until done end repeat; #退出迴圈

#關閉游標

close v_procurement_cur;

#設定當前日期值格式:("yyyy-mm-dd")

set v_curr_date = date_format(current_date(),'%y-%m-%d');

#設定當前時間格式:("yyyy-mm-dd hh:mm:ss")

set v_curr_time = date_format(now(), '%y-%m-%d %t');

#相關業務處理

........

end檔次

MySQL儲存過程例項

9.3 mysql儲存過程 mysql 5.0以後的版本開始支援儲存過程,儲存過程具有一致性 高效性 安全性和體系結構等特點,本節將通過具體的例項講解php是如何操縱mysql儲存過程的。例項261 儲存過程的建立 這是乙個建立儲存過程的例項 錄影位置 光碟 mingrisoft 09 261 例項...

MYSQL儲存過程例項

2 建立租戶公升級儲存過程 drop procedure if exists helpdesk cater upgradetenantdb delimiter create procedure helpdesk cater upgradetenantdb begin declare done int...

mysql儲存過程例項

儲存過程的作用 第一 儲存過程因為sql語句已經預編繹過了,因此執行的速度比較快。第二 儲存過程可以接受引數 輸出引數 返回單個或多個結果集以及返回值。可以向程式返回錯誤原因。第三 儲存過程執行比較穩定,不會有太多的錯誤。只要一次成功,以後都會按這個程式執行。第四 儲存過程主要是在伺服器上執行,減少...