含義:一組預先編譯好的sql語句的集合,可以理解成批處理語句
作用:
和儲存過程的區別:
儲存過程:可以有0個返回,也可以有多個返回,適合做批量插入、批量更新
函式:有且僅有1 個返回,適合做處理資料後返回乙個結果
delimiter $
create function 函式名(引數列表) returns 返回型別
begin
函式體end$
delimiter ;
注意:
select 函式名(引數列表)
函式使用由於函式是有返回值的,所以使用select是可以列印出這個值的。
案例:返回學生表的總個數
1.1 建立函式
delimiter $
create function myfun1() returns int
begin
declare num int default 0; #定義乙個變數
select count(*) into num #賦值
from student;
return num; #返回值
end $
delimiter ;
定義好後需要執行以下進行編譯
1.2 呼叫函式
案例:根據學生名返回分數
2.1 建立函式
delimiter $
create function myfun2(stuname varchar(20)) returns int
begin
declare grade int default 0; #定義變數
select s.grade into grade #賦值
from student s
where s.name = stuname;
return grade; #返回
end $
delimiter ;
2.2 呼叫
select myfun2('蓋倫');
show create function myfun1;
drop function myfun2;
MySQL學習筆記1 0
1.這兩種日誌有以下三點不同。redo log 是 innodb 引擎特有的 binlog 是 mysql 的 server 層實現的,所有引擎都可以使用。2.redo log 是物理日誌,記錄的是 在某個資料頁上做了什麼修改 binlog 是邏輯日誌,記錄的是這個語句的原始邏輯。3.redo lo...
PHP學習筆記10 函式
1.php自定義函式 function f1 2.帶返回和引數的自定義函式 可以返回陣列和物件的任意型別 function f2 a,b 3.可變函式 通過變數的值來呼叫函式,因為變數的值是可變的,所以可以通過改變乙個變數的值來實現呼叫不同的函式。可變函式的呼叫方法為變數名加上括號。function...
Kt學習筆記(10)函式
一 基本用法 kt函式必須使用fun關鍵字開頭,後面緊跟函式名,以及一對小括號,小括號是函式引數列表,如果函式有返回值,在小括號後面加冒號,冒號後面是函式返回值型別。函式的標準定義 fun double x int int在kt中呼叫函式,函式名後面是小括號,小括號中是要傳遞的函式引數值 var r...