加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

在mysql里创建函数的办法

发布时间:2022-03-01 04:35:04 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍在mysql中创建函数的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在mysql中可以通过语法CREATE FUNCTION func_name ( [func_parameter] )来创建函数,其中CREATE FUNCTION是用来创建函数的关键字。 在MySQ
   这篇文章主要介绍在mysql中创建函数的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
 
  在mysql中可以通过语法“CREATE FUNCTION func_name ( [func_parameter] )”来创建函数,其中“CREATE FUNCTION”是用来创建函数的关键字。
 
  在MySQL数据库中创建函数(Function)
 
  语法
 
  CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的
  RETURNS type
  [ characteristic ...] routine_body
  CREATE FUNCTION 用来创建函数的关键字;
 
  func_name 表示函数的名称;
 
  func_parameters为函数的参数列表,参数列表的形式为:[IN|OUT|INOUT] param_name type
 
  IN:表示输入参数;
 
  OUT:表示输出参数;
 
  INOUT:表示既可以输入也可以输出;
 
  param_name:表示参数的名称;
 
  type:表示参数的类型,该类型可以是MySQL数据库中的任意类型;
 
  RETURNS type:语句表示函数返回数据的类型;
 
  characteristic: 指定存储函数的特性,取值与存储过程时相同,详细请访问-MySQL存储过程使用;
 
  示例
 
  创建示例数据库、示例表与插入样例数据脚本:
 
  create database hr;
      use hr;
       
      create table employees
      (
      employee_id int(11) primary key not null auto_increment,
      employee_name varchar(50) not null,
      employee_sex varchar(10) default '男',
      hire_date datetime not null default current_timestamp,
      employee_mgr int(11),
      employee_salary float default 3000,
      department_id int(11)
      );
       
       
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('David Tian','男',10,7500,1);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Black Xie','男',10,6600,1);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Moses Wang','男',10,4300,1);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Rena Ruan','女',10,5300,1);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Sunshine Ma','女',10,6500,2);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Scott Gao','男',10,9500,2);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Warren Si','男',10,7800,2);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Kaishen Yang','男',10,9500,3);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Simon Song','男',10,5500,3);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Brown Guan','男',10,5000,3);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Eleven Chen','女',10,3500,2);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Cherry Zhou','女',10,5500,4);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Klause He','男',10,4500,5);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Maven Ma','男',10,4500,6);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Stephani Wang','女',10,5500,7);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Jerry Guo','男',10,8500,1);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Gerardo Garza','男',10,25000,8);
      insert into employees(employee_name,employee_sex,employee_mgr,employee_salary,department_id) values ('Derek Wu','男',10,5500,5);
  select * from employees;
  创建函数-根据ID获取员工姓名与员工工资
 
  DELIMITER //
  CREATE FUNCTION GetEmployeeInformationByID(id INT)
  RETURNS VARCHAR(300)
  BEGIN
  RETURN(SELECT CONCAT('employee name:',employee_name,'---','salary: ',employee_salary) FROM employees WHERE employee_id=id);
  END//
  DELIMITER ;

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!