亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2379 | 回復(fù): 0
打印 上一主題 下一主題

Mysql流程控制構(gòu)造 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-11-29 21:06 |只看該作者 |倒序瀏覽

IF, CASE, LOOP, WHILE, ITERATE, 及 LEAVE 構(gòu)造被完全實現(xiàn)。
這些構(gòu)造可能每個包含要么一個單獨語句,要么是使用BEGIN ... END復(fù)合語句的一塊語句。構(gòu)造可以被嵌套。
目前還不支持FOR循環(huán)。
20.2.12.1. IF語句IF search_condition THEN statement_list    [ELSEIF search_condition THEN statement_list] ...    [ELSE statement_list]END IF
IF實現(xiàn)了一個基本的條件構(gòu)造。如果search_condition求值為真,相應(yīng)的SQL語句列表被執(zhí)行。如果沒有search_condition匹配,在ELSE子句里的語句列表被執(zhí)行。statement_list可以包括一個或多個語句。
請注意,也有一個IF() 函數(shù),它不同于這里描述的IF語句。請參閱
12.2節(jié),“
控制流程函數(shù)”
。
20.2.12.2. CASE語句CASE case_value    WHEN when_value THEN statement_list    [WHEN when_value THEN statement_list] ...    [ELSE statement_list]END CASE
Or:
CASE    WHEN search_condition THEN statement_list    [WHEN search_condition THEN statement_list] ...    [ELSE statement_list]END CASE
存儲程序的CASE語句實現(xiàn)一個復(fù)雜的條件構(gòu)造。如果search_condition 求值為真,相應(yīng)的SQL被執(zhí)行。如果沒有搜索條件匹配,在ELSE子句里的語句被執(zhí)行。
注意:這里介紹的用在存儲程序里的CASE語句與
12.2節(jié),“
控制流程函數(shù)”
里描述的SQL CASE表達式的CASE語句有輕微不同。這里的CASE語句不能有ELSE NULL子句,并且用END CASE替代END來終止。
20.2.12.3. LOOP語句[begin_label:] LOOP    statement_listEND LOOP [end_label]
LOOP允許某特定語句或語句群的重復(fù)執(zhí)行,實現(xiàn)一個簡單的循環(huán)構(gòu)造。在循環(huán)內(nèi)的語句一直重復(fù)直循環(huán)被退出,退出通常伴隨著一個LEAVE 語句。
LOOP語句可以被標(biāo)注。除非begin_label存在,否則end_label不能被給出,并且如果兩者都出現(xiàn),它們必須是同樣的。
20.2.12.4. LEAVE語句LEAVE label
這個語句被用來退出任何被標(biāo)注的流程控制構(gòu)造。它和BEGIN ... END或循環(huán)一起被使用。
20.2.12.5. ITERATE語句ITERATE label
ITERATE只可以出現(xiàn)在LOOP, REPEAT, 和WHILE語句內(nèi)。ITERATE意思為:“再次循環(huán)!
例如:
CREATE PROCEDURE doiterate(p1 INT)BEGIN  label1: LOOP    SET p1 = p1 + 1;    IF p1     LEAVE label1;  END LOOP label1;  SET @x = p1;END
20.2.12.6. REPEAT語句[begin_label:] REPEAT    statement_listUNTIL search_conditionEND REPEAT [end_label]
REPEAT語句內(nèi)的語句或語句群被重復(fù),直至search_condition 為真。
REPEAT 語句可以被標(biāo)注。 除非begin_label也存在,end_label才能被用,如果兩者都存在,它們必須是一樣的。
例如:
mysql> delimiter // mysql> CREATE PROCEDURE dorepeat(p1 INT)    -> BEGIN    ->   SET @x = 0;    ->   REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;    -> END    -> //Query OK, 0 rows affected (0.00 sec) mysql> CALL dorepeat(1000)//Query OK, 0 rows affected (0.00 sec) mysql> SELECT @x//+------+| @x   |+------+| 1001 |+------+1 row in set (0.00 sec)
20.2.12.7. WHILE語句[begin_label:] WHILE search_condition DO    statement_listEND WHILE [end_label]
WHILE語句內(nèi)的語句或語句群被重復(fù),直至search_condition 為真。
WHILE語句可以被標(biāo)注。 除非begin_label也存在,end_label才能被用,如果兩者都存在,它們必須是一樣的。
例如:
CREATE PROCEDURE dowhile()BEGIN  DECLARE v1 INT DEFAULT 5;   WHILE v1 > 0 DO    ...    SET v1 = v1 - 1;  END WHILE;END 資料來源于:《MySQL 5.1參考手冊》


本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/50618/showart_2106860.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP