Parameter Storing Procedure
terdapat 3 parameter pada storing procedure
- IN- adalah parameter default. Saat menggunakan parameter IN, maka program pemanggil harus memberikan argumen pada storing procedure.
- OUT- nilai pada parameter out dapat diganti pada storing procedure dan nilai yang baru diberikan kembali pada program pemanggil.
- INOUT- adalah kombinasi IN dan OUT, artinya program pemanggil melewatkan argumen dan storing procedure dapat merubah INOUT parameter dan memberikan nilai yang baru pada program pemanggil.
mysql> DELIMITER //
mysql> CREATE PROCEDURE listofficeByCountry (IN namaCountry VARCHAR(200))
-> BEGIN
-> SELECT* FROM offices
-> WHERE country = namaCountry;
-> end//
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> call listofficeByCountry('USA');
mysql>
call listofficeByCountry('France');
-+-------+-----------------+--------------------------+--------------+-------+---------+
|
city | phone | addressLine1 | addressLine2 |
state | country |
-+-------+-----------------+--------------------------+--------------+-------+---------+
|
Paris | +33 14 723 4404 | 43 Rue Jouffroy D'abbans | NULL |
NULL | France |
-+-------+-----------------+--------------------------+--------------+-------+---------+
1
row in set (0.04 sec)
Query
OK, 0 rows affected (0.04 sec)
PARAMETER IN dan OUT
mysql> DELIMITER //
mysql> CREATE PROCEDURE HitungStatusOrder(
-> IN statusOrder VARCHAR(255),
-> OUT total INT)
-> BEGIN
-> SELECT count(orderNumber)
-> INTO total
-> FROM orders
-> WHERE status = statusOrder;
-> END//
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> call HitungStatusOrder('Shipped',@total);
Query OK, 1 row affected (0.03 sec)
mysql> SELECT @total;
+--------+
| @total |
+--------+
| 303 |
+--------+
1 row in set (0.00 sec)
mysql> call HitungStatusOrder('in process',@total);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT @total AS total_in_process;
+------------------+
| total_in_process |
+------------------+
| 6 |
+------------------+
1 row in set (0.00 sec)
mysql>
No comments :
Post a Comment