存儲過程和函數: 1.創建存儲過程和函數: 存儲過程: delimiter $$ create procedure proc_name() BEGIN 查詢語句; // 記得加分號 END $$ delimiter ; 函數: delimiter $$ create function func_na ...
存儲過程和函數: 1.創建存儲過程和函數: 存儲過程: delimiter $$ create procedure proc_name() BEGIN 查詢語句; // 記得加分號 END $$ delimiter ; 函數: delimiter $$ create function func_name(屬性欄位 數據類型) returns 數據類型 // 這的數據類型與下麵查詢語句查詢的屬性欄位數據類型相同 BEGIN return (查詢語句) END $$ delimiter ; 2.使用存儲過程和函數: 存儲過程: call proc_name; 函數: select func_name(參數); 3.查看存儲過程: show procedure status; show function status; show create procedure proc_name; show create function func_name; 4.修改: ALTER PROCEDURE procedure_name [characteristic…] ALTER FUNCTION function_name [characteristic…] 5.刪除: DROP PROCEDURE proce_name; DROP FUNCTION func_name; 例子: DROP PROCEDURE IF EXISTS emplayee_count; DELIMITER $ #創建存儲過程 CREATE PROCEDURE emplayee_count (OUT NUM INTEGER) BEGIN #聲明變數 DECLARE emplayee_sal INTEGER;DECLARE flag INTEGER; #聲明游標 DECLARE cursor_emplayee CURSOR FOR SELECT sal FROM t_employee; DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1; #設置結束標誌 SET flag=0;SET NUM=0;‘ #打開游標 OPEN cursor_emplayee; #遍歷游標指向的結果集 FETCH cursor_emplayee INTO emplayee_sal; WHILE flag<>1 DO IF emplayee_sal >999 THEN SET num=num+1; END IF; FETCH cursor_emplayee INTO emplayee_sal; END WHILE; #關閉游標 CLOSE cursor_emplayee; END$ DELIMITER ; 如何使用: call emplayee_count(@count); select @count;