標籤:new int class 語句 rom 變數 declare sql預存程序 查詢
使用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
MySQL預存程序中使用SELECT …INTO語句為變數賦值