mysql関数の概要

mysql関数の意味について話しましょう:

バッチステートメントとして理解される、コンパイル済みのSQLステートメントのセット

関数を使用する目的:

1.コードの再利用性を向上させる

2.操作を簡素化します

3.コンパイルの数を減らし、データベースサーバーへの接続の数を減らします。これにより、効率が向上します。

関数とストアドプロシージャの違い:

ストアドプロシージャ:0の戻り値または複数の戻り値があり、バッチ挿入とバッチ更新に適しています

機能:戻り値は1つだけです。これは、データの処理後に結果を返すのに適しています。

1つは、文法を作成することです。

create  function  函数名(参数列表) return是返回类型

begin

函数体

end


#注意
1、参数列表包含两部分:参数名,参数类型
2、函数体:肯定会有return语句,如果没有会报错,如果return语句没有放在函数体的最后也不报错,但是不建议(没有意义)
3、函数体中仅有一句话,可以省略begin end
4、使用delimiter语句设置结束标记(demilter $)

2、構文を呼び出す

関数名の選択(パラメータリスト)

例:

1.参加せずに戻る

会社の従業員数を返します

create function myf1()returns int

begin  

    declare c int default 0;
    select count(*) into c
    from employees;
    return c;

end $


select myf1()$

参加して戻る

#根据员工名返回工资

create function myf2 (empName varchar(20)) returns double 

begin 
    set @sal=0#定义用户变量
    select salary into @sal from employees where last_name=empName;
    return @sal;

end $ 

select myf2('king') $

部門名に従って部門の平均給与を返します

create function myf3(repName varchar(20)) returns double

begin

    declare sal double;
    select avg(salary) into sal
    from employees e 
    join departments d on e.department_id=d.department_id
    where d.department_name =repName; 
    return sal;
end $ 
 
select myf3('IT') $

三、ビュー機能

show create function function name;

4、削除機能

ドロップ関数関数名

 

 

おすすめ

転載: blog.csdn.net/weixin_42575020/article/details/113572156