navicat mysql 存儲過程


存儲過程如同一門程序設計語言,同樣包含了數據類型、流程控制、輸入和輸出和它自己的函數庫。

 

一、基本數據類型:

 

二、變量:

 

自定義變量:DECLARE   a INT ; SET a=100;   

 

可用以下語句代替:DECLARE a INT DEFAULT 100;

 

變量分為用戶變量系統變量,系統變量又分為會話和全局級變量

 

用戶變量:用戶變量名一般以@開頭,濫用用戶變量會導致程序難以理解及管理

 

三、運算符:
1.算術運算符
+        SET var1=2+2;       4
-        SET var2=3-2;       1
*         SET var3=3*2;       6
/        SET var4=10/3;      3.3333
DIV   整除 SET var5=10 DIV 3; 3
%     取模 SET var6=10%3 ;     1

 

2.比較運算符
>            大於 1>2 False
<            小於 2<1 False
<=           小於等於 2<=2 True
>=           大於等於 3>=2 True
BETWEEN      在兩值之間 5 BETWEEN 1 AND 10 True
NOT BETWEEN 不在兩值之間 5 NOT BETWEEN 1 AND 10 False
IN           在集合中 5 IN (1,2,3,4) False
NOT IN       不在集合中 5 NOT IN (1,2,3,4) True
=             等於 2=3 False
<>, !=       不等於 2<>3 False
<=>          嚴格比較兩個NULL值是否相等 NULL<=>NULL True
LIKE          簡單模式匹配 "Guy Harrison" LIKE "Guy%" True
REGEXP       正則式匹配 "Guy Harrison" REGEXP "[Gg]reg" False
IS NULL      為空 0 IS NULL False
IS NOT NULL 不為空 0 IS NOT NULL True

 

3.邏輯運算符

 

4.位運算符
|  
&  
<< 左移位
>> 右移位
~   (單目運算,按位取反)

 

注釋:

 

mysql存儲過程可使用兩種風格的注釋
雙橫杠:--

 

該風格一般用於單行注釋
c風格:/* 注釋內容 */ 一般用於多行注釋

 

--------------------流程控制--------------------

 

  1. 區塊定義,常用
    begin
    ......
    end;
    也可以給區塊起別名,如:
    lable:begin
    ...........
    end lable;
    可以用leave lable;跳出區塊,執行區塊以后的代碼

 

2.條件語句

 

if 條件 then

 

 statement

 

 else

 

 statement

 

 end if;

 

3.循環語句

 

(1).while循環

 

[label:] WHILE expression DO

 

 statements

 

 END WHILE [label] ;

 

(2).loop循環

 

[label:] LOOP

 

 statements

 

 END LOOP [label];

 

(3).repeat until循環

 

[label:] REPEAT

 

 statements

 

 UNTIL expression

 

 END REPEAT [label] ;

四、navicat 創建存儲過程簡單例子

1、創建存儲過程

 

 

然后選擇過程

 

 

這里的參數設置可以先不管,能在后續根據需要添加。

但還是說明一下,模式分為三種:

1IN:輸入參數 

2OUT:輸出參數

3INOUT:既作為輸入參數,也作為輸出參數

需要注意,如果我們的存儲過程需要外部傳入參數進行運算,以及需要返回部分參數,是需要定義好的。

 

 

上面的就是什么參數都沒有設置的初始情況。

 

 

那么如果這時候我們保存一下。

 

 

接着,我們需要做一些准備措施,先建一個表t_test,有兩個字段cell_0cell_1

 

 

數據請自己插入,沒有硬性要求。

還有另外一個表,僅僅名字不一樣了而已

 

 

這時候,需要我們t_test這個表內必須有數據,而tt_test則是空的,請檢查一下。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM