《Mysql入門在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲過程的方法》要點(diǎn):
本文介紹了Mysql入門在MySQL中創(chuàng)建帶有IN和OUT參數(shù)的存儲過程的方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL應(yīng)用?在 MySQL 中創(chuàng)建儲存過程的語法很難記,除非你經(jīng)常跟儲存過程打交道,原因很簡單,語法不是什么小笑話.如果你通過命令行控制 MySQL,你需要記住準(zhǔn)確的語法.一個快速示例可以很好的幫助你做到這點(diǎn).在MySQL 入門教程中,我們能夠看到很多關(guān)于如何創(chuàng)建儲存過程 和如何利用 IN 和 OUT 參數(shù)調(diào)用存儲過程的示例.這些示例都很簡單,能夠很好的幫助你理解 MySQL 中創(chuàng)建帶參數(shù)存儲過程的語法.這些示例已在 MySQL 5.5 中通過測試.我們將用下面的雇員表創(chuàng)建并測試這些儲存過程:
?
MYSQL應(yīng)用
mysql> select * from employee;
+--------+----------+---------+--------+
| emp_id | emp_name | dept_id | salary |
+--------+----------+---------+--------+
| 103 | Jack | 1 | 1400 |
| 104 | John | 2 | 1450 |
| 108 | Alan | 3 | 1150 |
| 107 | Ram | NULL | 600 |
+--------+----------+---------+--------+
4 rows in set (0.22 sec)
MYSQL應(yīng)用
mysql> DELIMITER //
mysql> create procedure usp_totalEmployeeByDeparment(IN id INT)
-> begin
-> select count(*) as total from employee where dept_id = id;
-> end//
Query OK, 0 rows affected (0.00 sec)
MYSQL應(yīng)用?
mysql> DELIMITER ;
首先我們改變默認(rèn)的分隔符為“//”來作為存儲過程結(jié)束的標(biāo)識,隨后再恢復(fù)默認(rèn)值.使用“usp”前綴是區(qū)分系統(tǒng)存過過程和用戶自定義存儲過程的最佳實(shí)踐.現(xiàn)在你可以在MySQL命令行像這樣來調(diào)用存過:
?
MYSQL應(yīng)用
mysql> call usp_totalEmployeeByDeparment(2);
+-------+
| total |
+-------+
| 1 |
+-------+
1 row in set (0.06 sec)
MYSQL應(yīng)用創(chuàng)建和使用帶IN和OUT參數(shù)的存儲過程
MYSQL應(yīng)用在這個MySQL例子中,我們創(chuàng)建了一個IN和一個OUT參數(shù)的存儲過程 usp_GetEmployeeName.當(dāng)調(diào)用這個存儲過程時,你需要傳遞2個參數(shù):id和name,一個作為輸入?yún)?shù)id,另外一個作為輸出參數(shù)返回結(jié)果.
?
MYSQL應(yīng)用
mysql> DELIMITER //
mysql> create procedure usp_GetEmployeeName(IN id INT, OUT name VARCHAR(20))
-> begin
-> select emp_name into name from employee where emp_id = id;
-> end//
Query OK, 0 rows affected (0.52 sec)
mysql> DELIMITER ;
mysql> call usp_GetEmployeeName(103, @name);
Query OK, 1 row affected (0.05 sec)
以MySQL命令行方式調(diào)用存過:
mysql> select @name;
+-------+
| @name |
+-------+
| Jack |
+-------+
1 row in set (0.00 sec)
MYSQL應(yīng)用這就是怎樣從命令行方式創(chuàng)建和調(diào)用存儲過程的所有內(nèi)容,在這個教程中,我們創(chuàng)建了帶IN和OUT參數(shù)的存儲過程多個例子.這是記住MySQL數(shù)據(jù)庫存過語法的最好方式.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/3355.html