1. 程式人生 > >Mysql儲存過程2:變量定義與參數傳遞

Mysql儲存過程2:變量定義與參數傳遞

變量定義 color ted lec mysq 傳遞 參數傳遞 fault 可選

#儲存過程 中的變量定義
declare 變量名 類型 可選類型 -- 跟建表差不多

create procedure p()
  begin
    declare age int default(18);
    declare number int default 1;
    select age+number;
  end$
/*
mysql> create procedure p()
    ->   begin
    ->     declare age int default(18);
    ->     declare number int default 1;
    ->     select age+number;
    ->   end$
Query OK, 0 rows affected (0.00 sec)

mysql> call p$
+------------+
| age+number |
+------------+
|         19 |
+------------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)
*/ #儲存過程 中, 變量可以運算 #運算結果賦修值給變量用: set age := 運算式 #set age := age + 2



#參數傳遞

mysql> create procedure p2(number int, age int)
    ->       begin
    ->         select age+number;
    ->       end$
Query OK, 0 rows affected (0.00 sec)

mysql> call p2(1,2)$
+------------+
| age+number |
+--
----------+ | 3 | +------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec) mysql>

Mysql儲存過程2:變量定義與參數傳遞