使用SELECT …INTO語句為變量賦值
在MySQL存儲過程中,可以使用SELECT …INTO語句對變量進行賦值,該語句在數據庫中進行查詢,並將得到的結果賦值給變量。SELECT …INTO語句的語法格式如下:
SELECT col_name[,...] INTO var_name[,...] table_expr
col_name:要從數據庫中查詢的列字段名;
var_name:變量名,列字段名按照在列清單和變量清單中的位置對應,將查詢得到的值賦給對應位置的變量;
table_expr:SELECT語句中的其余部分,包括可選的FROM子句和WHERE子句。
需要注意的是,在使用SELECT …INTO語句時,變量名不能和數據表中的字段名不能相同,否則會出錯。范例語句:
create procedure getMsg () Begin declare v_title varchar(30); declare v_content varchar(100); select title,content into v_title,v_content from news where artId=333; End
將變量值返回給調用者
在存儲過程中定義的變量,經過一系列的處理之后,結果值可能需要返回給存儲過程調用者。那么如何返回呢?方便的做法是使用SELECT語句將變量作為結果集返回,因此,在上面一段代碼的基礎上,加上一句:
create procedure getMsg () Begin declare v_title varchar(30); declare v_content varchar(100); select title,content into v_title,v_content from news where artId=333; select v_title,v_content; End