Heim  >  Artikel  >  Datenbank  >  So erstellen Sie eine Funktion in MySQL

So erstellen Sie eine Funktion in MySQL

藏色散人
藏色散人Original
2020-10-08 17:30:556043Durchsuche

In MySQL können Sie Funktionen über die Syntax „CREATE FUNCTION func_name ([func_parameter])“ erstellen, wobei „CREATE FUNCTION“ das Schlüsselwort ist, das zum Erstellen von Funktionen verwendet wird.

So erstellen Sie eine Funktion in MySQL

Empfohlen: „MySQL-Video-Tutorial

Erstellen einer Funktion in einer MySQL-Datenbank

Syntax

CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的
RETURNS type
[ characteristic ...] routine_body

CREATE FUNCTION Schlüsselwort zum Erstellen einer Funktion;

func_ Name stellt den Funktionsnamen dar;

func_parameters ist die Parameterliste der Funktion: [IN|OUT|INOUT] param_name type

IN: gibt Eingabeparameter an;

INOUT: gibt an, dass beides Eingabe Es kann auch ausgegeben werden;

param_name: stellt den Namen des Parameters dar;

RETURNS-Typ: stellt den Typ des Parameters dar; Von der Funktion zurückgegebene Daten;

characteristic: Geben Sie die Eigenschaften der gespeicherten Funktion an, und der Wert ist derselbe wie der der gespeicherten Prozedur. Weitere Informationen finden Sie unter - Verwendung einer gespeicherten MySQL-Prozedur. Beispieltabelle und Beispieldatenskript einfügen:

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;

Funktion erstellen – basierend auf ID-Mitarbeitername und Mitarbeitergehalt abrufen

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 ;

Funktion aufrufen

In MySQL wird die Funktion auf die gleiche Weise wie die interne MySQL-Funktion verwendet.

Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Funktion in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn