zoukankan      html  css  js  c++  java
  • MySQL 创建函数(Function)

    目标

    怎么样MySQL创建数据库功能(Function)


    语法

    CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,參数是可选的
    RETURNS type
    [ characteristic ...] routine_body
    • CREATE FUNCTION 用来创建函数的keyword;
    • func_name 表示函数的名称;
    • func_parameters为函数的參数列表,參数列表的形式为:[IN|OUT|INOUT] param_name type
    1. IN:表示输入參数。
    2. OUT:表示输出參数;
    3. INOUT:表示既能够输入也能够输出;
    4. param_name:表示參数的名称;
    5. type:表示參数的类型,该类型能够是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 ;

    调用函数

    在MySQL——函数的用法与MySQL内部函数的用法一样。


    <很多其它精彩内容。见后面更新...>

    假设您们在尝试的过程中遇到什么问题或者我的代码有错误的地方,请给予指正,很感谢!

    联系方式:david.louis.tian@outlook.com

    版权@:转载请注明出处。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    Dubbo-admin管理平台搭建
    Zabbix监控Zookeeper健康状况
    Redis-stat 的安装与使用
    Jenkins配置基于角色的项目权限管理
    云计算的三种服务模式:IaaS,PaaS和SaaS
    PRC远程过程调用
    解决linux中ssh登录Warning:Permanently added (RSA) to the list of known hosts
    Maven仓库—Nexus环境搭建及使用
    SecureCRT使用本地公钥 SSH 免密码登录Linux
    Linux内存管理机制
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4717592.html
Copyright © 2011-2022 走看看