mysql儲存過程和函式(二) 簡單自定義函式

2021-08-14 15:29:15 字數 1533 閱讀 5862

1,簡單函式

需求:編寫函式,傳入乙個film_id,返回電影名(title)

delimiter $$

create function get_film_title(id int) returns varchar(64)

reads sql data

begin

declare film_title varchar(64) default "";

select title into film_title from film where film_id= id;

return film_title;

end;

$$delimiter ;

select get_film_title(28);

歸納: 建立函式使用create function funname (params) returns returntype;

函式體放在begin和end之間

return指定函式的返回值

函式呼叫:select get_film_title(params);

2,自定義函式例項1:

需求:輸入id,查出電影的名字以及長度,租金。

delimiter $$

create function sel_film_info(id int) returns varchar(128)

reads sql data

begin

declare film_info varchar(128) default "";

select concat(title,'-',length,'-',replacement_cost) into film_info from film where film_id=id;

return film_info;

end;

$$delimiter ;

select sel_film_info(28);

3,自定義函式示例2

需求:輸入語言id,查詢該語言下語言name和電影總數

delimiter $$

create function sel_count_film_language(id int)returns varchar(128)

reads sql data

begin

declare retu varchar(32) default "";

select concat(count(*),'-',name) into retu from film left join language l on l.language_id=film.language_id where film.language_id = id;

return retu;

end;

$$delimiter ;

select sel_count_film_language(2)

mysql 過程和函式 MySQL 儲存過程和函式

變數 系統變數 變數由系統提供,不是使用者自定義的,屬於伺服器層面 全域性變數 會話變數 如果是全域性級別,則需要加global,如果是會話級別,則需要加session,如果不寫,則預設是會話 檢視全域性變數 show global variables show global variablesli...

MySQL儲存過程和儲存函式

儲存過程和儲存函式 mysql的儲存過程 stored procedure 和函式 stored function 統稱為stored routines。1.儲存過程和函式的區別 函式只能通過return語句返回單個值或者表物件。而儲存過程不允許執行return,但是通過out引數返回多個值。函式是...

Mysql 儲存過程和函式

一 儲存過程 procedure 本質上沒區別,執行的本質都一樣。只是函式有如 只能返回乙個變數的限制。而儲存過程可以返回多個。函式是可以嵌入在sql中使用的,可以在select中呼叫,而儲存過程要讓sql的query 可以執行,需要把 mysql real connect 的最後乙個引數設定為cl...