附舉例詳細mysql存儲過程「mysql存儲過程和函數區別」

mysql存儲過程中局部變數定義在代碼最前面,作用範圍也是在此函數範圍內。注意同全局變數和用戶變數區分開。

使用declare關鍵字來聲明變數

注意必須寫在代碼塊的最前面

de count int DEFAULT 0;
DECLARE username varchar(32);

一次聲明多個相同類型的變數

	DECLARE p_parent int DEFAULT 0;
	DECLARE parent0, parent1, parent2, parent3, parent4, parent5 int DEFAULT 0;

使用set來給變數賦值

set <變數名> = <值>

				 DECLARE sflag int default 0;
				 set sflag =100;

select 語句給變數賦值

select 列名 into 變數名,支持多個變數同時賦值。

SELECT col_name[, …] INTO var_name[,…] from table

SELECT IFNULL(cnt,0) into parent0 from temp_student where b = 0 limit 1;
select sname, sno into p_name, p_no from temp_student where id=888;
select 'result:', p_no, p_name;

游標賦值

DECLARE p_id int;
DECLARE p_name varchar(32);
DECLARE sflag int DEFAULT 0;
DECLARE cur_school CURSOR FOR select id,name from school where status=0;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET sflag = 1;

open cur_school;		
		fetch cur_school into p_id, p_name;  
		while sflag<>1 do      
       // ......
      fetch cur_school into p_id, p_name;  
      select 'in while:',p_id, sflag;
		end while;
close cur_school;

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/280105.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-20 18:54
下一篇 2024-12-20 18:54

相關推薦

發表回復

登錄後才能評論