MySQL儲存過程

2021-10-01 08:53:22 字數 2924 閱讀 7710

注:name是儲存過程的名字

//todo:儲存過程

//傳參

// $aid1 = 『report_aid』;

// mai

n2="

call

samp

lenu

m(′"

.main2 = "call sample_num('".

main2=

"cal

lsam

plen

​um(

′".aid1."』)";

// res

ult2

=db:

:que

ry

(result2 = db::query(

result

2=db

::qu

ery(

main2);

// $res = db::query(『call name(:in_param1,in_param2,)』,

// [

// 『in_param1』 => $in_param1,

// 『in_param2』 => $in_param2,

// ]);

$res = db::query(『call name』);

//如果儲存過程不需要返回資料

db::execute(『call name』);

資料庫-儲存過程**

傳入的引數宣告

注:資料庫函式過程(傳入的是不同欄位時)

begin

#routine body goes here...

declare curr_time date

default

now();

declare datas tinytext

default

null

;declare opt varchar

(255

)default'';

declare min_time varchar

(200

)default'';

declare start_hour varchar

(200

)default'';

declare end_hour varchar

(200

)default'';

declare last_res varchar

(500

)default'';

declare hour_time date

default

now();

set min_time = date_add(curr_time,

interval-7

day)

;drop

temporary

table

ifexists main;

create

temporary

table main (

`date

`varchar

(100

)default

null

,`count`

varchar(50

)default

null);

set datas ='';

set opt = concat(

" and "

,aid,

" <> -1");

while min_time < curr_time

doset start_hour = min_time;

set end_hour = date_add(start_hour,

interval+2

day)

;set

@sel_sql

= concat(

"select count(id) as count from sample

where is_del = 1"

,opt,

" and last_commit_time >'"

, start_hour ,

"' and last_commit_time < '"

, end_hour ,

"' order by last_commit_time into @datas");

-- select count(id) as count from sample

-- where is_del = 1 and opt <> -1 and last_commit_time > start_hour and last_commit_time < end_hour order by last_commit_time into datas;

set@excutesql

=@sel_sql

;prepare stmt from

@excutesql

;execute stmt;

deallocate

prepare stmt;

select

@datas

into datas;

insert

into main(

`date`,

`count`

)values

(curr_time,ifnull(datas,

"''"))

;set min_time = date_add(min_time,

interval+1

day)

;end

while

;select group_concat(count)

from main into last_res;

select last_res;

end

mysql儲存過程 MySQL儲存過程

在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...

mysql 儲存過程 mysql 儲存過程

建立 為建立儲存過程的結束標誌,使用delimiter 可更改標誌 格式create procedure begin sqlend create procedure myprocedure in param integer begin select from tb role where tb rol...

mysql 儲存過程 MySQL儲存過程

目錄 儲存過程 簡介是一組為了完成特定功能的sql語句集合 比傳統sql速度更快 執行效率更高 儲存過程的優點 執行一次後,會將生成的二進位制 駐留緩衝區,提高執行效率 sql語句加上控制語句的集合,靈活性高 在伺服器端儲存,客戶端呼叫時,降低網路負載 可多次重複被呼叫,可隨時修改,不影響客戶端呼叫...