使用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