• [置顶] MySQL -- 创建函数(Function


    目标

    如何在MySQL数据库中创建函数(Function)

    语法

    1. CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的  
    2. RETURNS type  
    3. [ characteristic ...] routine_body  
    • CREATE FUNCTION 用来创建函数的关键字;
    • func_name 表示函数的名称;
    • func_parameters为函数的参数列表,参数列表的形式为:[IN|OUT|INOUT] param_name type
    1. IN:表示输入参数;
    2. OUT:表示输出参数;
    3. INOUT:表示既可以输入也可以输出;
    4. param_name:表示参数的名称;
    5. type:表示参数的类型,该类型可以是MySQL数据库中的任意类型;

    示例

    创建示例数据库、示例表与插入样例数据脚本:

    1. create database hr;  
    2. use hr;  
    3.   
    4. create table employees  
    5. (  
    6.     employee_id int(11) primary key not null auto_increment,  
    7.     employee_name varchar(50) not null,  
    8.     employee_sex varchar(10) default '男',  
    9.     hire_date datetime not null default current_timestamp,  
    10.     employee_mgr int(11),  
    11.     employee_salary float default 3000,  
    12.     department_id int(11)  
    13. );  
    14.   
    15.   
    16. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('David Tian','男',10,7500,1);  
    17. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Black Xie','男',10,6600,1);  
    18. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Moses Wang','男',10,4300,1);  
    19. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Rena Ruan','女',10,5300,1);  
    20. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Sunshine Ma','女',10,6500,2);  
    21. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Scott Gao','男',10,9500,2);  
    22. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Warren Si','男',10,7800,2);  
    23. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Kaishen Yang','男',10,9500,3);  
    24. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Simon Song','男',10,5500,3);  
    25. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Brown Guan','男',10,5000,3);  
    26. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Eleven Chen','女',10,3500,2);  
    27. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Cherry Zhou','女',10,5500,4);  
    28. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Klause He','男',10,4500,5);  
    29. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Maven Ma','男',10,4500,6);  
    30. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Stephani Wang','女',10,5500,7);  
    31. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Jerry Guo','男',10,8500,1);  
    32. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Gerardo Garza','男',10,25000,8);  
    33. insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Derek Wu','男',10,5500,5);  
    34.   
    35.   
    36. select * from employees;  


    创建函数-根据ID获取员工姓名与员工工资

    1. DELIMITER //  
    2. CREATE FUNCTION GetEmployeeInformationByID(id INT)  
    3. RETURNS VARCHAR(300)  
    4. BEGIN  
    5.     RETURN(SELECT CONCAT('employee name:',employee_name,'---','salary: ',employee_salary) FROM employees WHERE employee_id=id);  
    6. END//  
    7. DELIMITER ;  

    调用函数

    mysql——函数的使用方法与MySQL内部函数的使用方法一样。

     

  • 相关阅读:
    【实战】如何实现滚轮时间的显示
    NSDate的常用用法
    UIDatePicker的简单用法
    NSDateFormatter相关整理
    UIPickerView
    回家任务
    addTarget:self 的意思是说,这个方法在本类中
    2020/2/25
    树上启发式合并
    题解
  • 原文地址:https://www.cnblogs.com/mafeng/p/7121473.html
Copyright © 2020-2023  润新知