最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
mysql怎么儲(chǔ)存過程 Mysql 存儲(chǔ)過程

如何通過用MySQL怎么創(chuàng)建存儲(chǔ)過程?

創(chuàng)建存儲(chǔ)過程

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),安澤網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:安澤等地區(qū)。安澤做網(wǎng)站價(jià)格咨詢:18982081108

CREATE PROCEDURE 存儲(chǔ)過程名()

一個(gè)例子說明:一個(gè)返回產(chǎn)品平均價(jià)格的存儲(chǔ)過程如下代碼:

CREATE PROCEDURE productpricing()

BEGIN

SELECT Avg(prod_price) AS priceaverage

FROM products;

END;

//創(chuàng)建存儲(chǔ)過程名為productpricing,如果存儲(chǔ)過程需要接受參數(shù),可以在()中列舉出來。即使沒有參數(shù)后面仍然要跟()。BEGIN和END語句用來限定存儲(chǔ)過程體,過程體本身是個(gè)簡(jiǎn)單的SELECT語句

MySQL存儲(chǔ)過程二

上一節(jié)存儲(chǔ)過程封裝的都是簡(jiǎn)單的select語句,直接使用被封裝的語句就能完成。所以存儲(chǔ)過程往往應(yīng)用于更復(fù)雜的業(yè)務(wù)規(guī)則處理時(shí)更有效

看一個(gè)例子

這個(gè)例子使用元素比較多,解釋一下:

COMMENT為表添加了一句注釋;

-- 單行注釋,注釋跟在后面的內(nèi)容,需要注意-- 后需要加一個(gè)空格才能生效;

(#注釋內(nèi)容? ? ? ? /*注釋內(nèi)容*/? 這兩種方法也能進(jìn)行注釋)

Declare用來聲明變量,一句declare只能聲明一個(gè)變量,變量必須先聲明后使用

If...Then是進(jìn)行條件判斷的,基本語句如下:

If ... Then ... Else ... End If;

這個(gè)存儲(chǔ)過程完成了訂單合計(jì),并判斷該訂單是否需要增加營業(yè)稅。taxable是一個(gè)布爾值(如果要增稅為真,否則為假)。在存儲(chǔ)體中定義了兩個(gè)局部變量。并將結(jié)果存儲(chǔ)到局部變量total中。if語句檢查taxable是否為真,如果為真,則用另一條select語句增加營業(yè)稅。最后將total結(jié)果保存到ototal中。

調(diào)用結(jié)果如下:

檢查存儲(chǔ)過程

SHOW? CREATE? PROCEDURE? 過程名;

為了獲得包括何時(shí)、由誰創(chuàng)建等詳細(xì)信息的存儲(chǔ)過程列表,使用

Show procedure status;? -- 會(huì)列出所有存儲(chǔ)過程

可以添加過濾,比如

存儲(chǔ)過程循環(huán)語句

1. while

WHILE (表達(dá)式)? DO?

...

END WHILE;

看一個(gè)例子

創(chuàng)建了一個(gè)循環(huán)存儲(chǔ)過程,重復(fù)向human插入5條記錄。下面調(diào)用看一下結(jié)果

2.repeat

基本語句:

Repeat ...until 條件...END? Repeat;

同樣操作,使用repeat執(zhí)行如下

mysql 存儲(chǔ)過程

.??????關(guān)于MySQL的存儲(chǔ)過程

存儲(chǔ)過程是數(shù)據(jù)庫存儲(chǔ)的一個(gè)重要的功能,但是MySQL在5.0以前并不支持存儲(chǔ)過程,這使得MySQL在應(yīng)用上大打折扣。好在MySQL 5.0終于開始已經(jīng)支持存儲(chǔ)過程,這樣即可以大大提高數(shù)據(jù)庫的處理速度,同時(shí)也可以提高數(shù)據(jù)庫編程的靈活性。

MySQL存儲(chǔ)過程的創(chuàng)建

(1).?格式

MySQL存儲(chǔ)過程創(chuàng)建的格式:CREATE PROCEDURE?過程名?([過程參數(shù)[,...]])

[特性?...]?過程體

這里先舉個(gè)例子:

mysql?DELIMITER?//

mysql?CREATE?PROCEDURE?proc1(OUT?s?int)

-?BEGIN

-?SELECT?COUNT(*)?INTO?s?FROM?user;

-?END

-?//

mysql?DELIMITER?;

注:

(1)這里需要注意的是DELIMITER //和DELIMITER ;兩句,DELIMITER是分割符的意思,因?yàn)镸ySQL默認(rèn)以";"為分隔符,如果我們沒有聲明分割符,那么編譯器會(huì)把存儲(chǔ)過程當(dāng)成SQL語句進(jìn)行處理,則存儲(chǔ)過程的編譯過程會(huì)報(bào)錯(cuò),所以要事先用DELIMITER關(guān)鍵字申明當(dāng)前段分隔符,這樣MySQL才會(huì)將";"當(dāng)做存儲(chǔ)過程中的代碼,不會(huì)執(zhí)行這些代碼,用完了之后要把分隔符還原。

(2)存儲(chǔ)過程根據(jù)需要可能會(huì)有輸入、輸出、輸入輸出參數(shù),這里有一個(gè)輸出參數(shù)s,類型是int型,如果有多個(gè)參數(shù)用","分割開。

(3)過程體的開始與結(jié)束使用BEGIN與END進(jìn)行標(biāo)識(shí)。


文章名稱:mysql怎么儲(chǔ)存過程 Mysql 存儲(chǔ)過程
文章路徑:http://fisionsoft.com.cn/article/hjoidj.html