大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

MySQL存儲過程

MySQL存儲過程控制語句

變量作用域

內部的變量在其作用域范圍內享有更高的優先權,當執行到end時,內部變量消失,此時已經在其作用域外,變量不再可見了,因為在存儲過程外再也不能找到這個聲明的變量,但是我們可以通過out參數或者將其值指派給會話變量來保存其值。

-- 創建存儲過程                                                     
CREATE PROCEDURE PROC6()                                            
BEGIN                                                               
   DECLARE X1 VARCHAR(5) DEFAULT "OUTER";                           
   -- ----------嵌套塊-------------------------                     
   BEGIN                                                            
       DECLARE X1 VARCHAR(5) DEFAULT "INNER";                       
       SELECT X1; -- 結果是"INNER"                                  
   END;                                                             
   -- -----------------------------------------                       
   SELECT X1; -- 結果是"OUTER"                                      
END;                                                                

-- 調用存儲過程                                                     
CALL PROC6();     

執行結果如下:

條件語句

Ⅰ. if-then -else語句

創建一個表

CREATE TABLE TEMP (ID INT(4));

創建存儲過程

CREATE PROCEDURE PROC7(IN PARAM INT)
BEGIN
  DECLARE VAR INT;
  SET VAR = PARAM + 1;
  -- ----------IF語句---------------
  -- 注意:判斷var是否等于1,要使用=,而不是==;
  IF VAR = 1 THEN
     INSERT INTO TEMP VALUES (100);
  END IF;
  -- ----------IF ELSE語句---------------
  IF PARAM = 0 THEN 
     UPDATE TEMP SET ID = ID + 1;
  ELSE 
     UPDATE TEMP SET ID = ID + 2;
  END IF;
END;

調用存儲過程

CALL PROC7(0);

查詢結果:SELECT * FROM TEMP;

語句執行結果如下:

Ⅱ. case語句:

清空TEMP表中的記錄

DELETE FROM TEMP;

創建存儲過程

CREATE PROCEDURE PROC8(IN PARAM INT)
BEGIN
   DECLARE VAR INT;
   SET VAR = PARAM + 1;
   
   CASE VAR 
   WHEN 1 THEN 
     INSERT INTO TEMP VALUES (1);
   WHEN 2 THEN
     INSERT INTO TEMP VALUES (2);
   ELSE 
     INSERT INTO TEMP VALUES (100);
   END CASE; 
END;?

調用存儲過程

CALL PROC8(10);

查詢結果:SELECT * FROM TEMP;

語句執行結果如下:

循環語句

Ⅰ. while ···· end while:

清空TEMP表中的記錄

DELETE FROM TEMP;

創建存儲過程

CREATE PROCEDURE PROC9()
BEGIN
  DECLARE VAR INT DEFAULT 0;  
  WHILE VAR < 10 DO
    INSERT INTO TEMP VALUES (VAR);
    SET VAR = VAR + 1;
  END WHILE;
END;

調用存儲過程

CALL PROC9();

查詢結果:SELECT * FROM TEMP;

語句執行結果如下:

Ⅱ. repeat···· end repeat:

它在執行操作后檢查結果,而while則是執行前進行檢查。

清空TEMP表中的記錄

DELETE FROM TEMP;

創建存儲過程

CREATE PROCEDURE PROC10()
BEGIN
   DECLARE VAR INT DEFAULT 0;
   REPEAT 
     INSERT INTO TEMP VALUES (VAR);
     SET VAR = VAR + 1;
     UNTIL VAR >= 10 -- 末尾沒有分號
   END REPEAT;
END;

調用存儲過程

CALL PROC10();

查詢結果:SELECT * FROM TEMP;

語句執行結果:

Ⅲ. loop ·····end loop:

loop循環不需要初始條件,這點和while 循環相似,同時和repeat循環一樣不需要結束條件, leave語句的意義是離開循環。

創建存儲過程

CREATE PROCEDURE PROC11()
BEGIN
  DECLARE VAR INT DEFAULT 0;
  LOOP1:LOOP
     INSERT INTO TEMP VALUES (VAR);
     SET VAR = VAR + 1;
     IF VAR > 10 THEN  -- 循環終止條件
        LEAVE LOOP1;
     END IF;
  END LOOP;
END;
CALL PROC11(); -- 調用存儲過程
SELECT * FROM TEMP;  -- 查詢結果

語句執行結果如下:

全部教程
主站蜘蛛池模板: 久久精品国产精品亚洲20 | 亚洲精品久久久久中文字小说 | 中文字幕天天躁夜夜狠狠综合 | 久久亚洲高清观看 | 亚洲免费视频一区 | 四虎综合 | 99视频热| 欧美精品亚洲精品日韩经典 | 色综合久久综合欧美综合 | 黄 色 免 费 网站在线观看 | 欧美日韩片 | 久久久久久网站 | 深夜在线小视频 | 性欧美极品xxxx欧美一区二区 | 久久久久琪琪免费影院 | 中文毛片 | 国产色产综合色产在线观看视频 | 亚洲黄色在线视频 | 四虎色影院 | 亚洲欧洲久久久精品 | 日韩免费高清一级毛片久久 | 欧美亚洲国产精品久久久久 | 奇米影视第四色在线观看 | 狠狠视频 | 亚洲综合日韩在线亚洲欧美专区 | 波多野结衣一区2区3区 | 东京干手机福利视频 | 奇米影视777色 | 国产一区二区三区免费观看 | 亚洲欧美视频一区二区三区 | 久99久视频 | 欧美成人午夜视频免看 | 天天伊人网 | 九九免费精品视频在这里 | 狠狠色丁香婷婷综合久久来 | www.狠狠操.com| 男人草女人的视频 | 欧美中文综合在线视频 | 理论片我不卡在线观看 | 亚洲一区在线免费 | 国产综合精品一区二区 |