Maison > Article > base de données > comment créer une fonction dans MySQL
Dans mysql, vous pouvez créer une fonction via la syntaxe "CREATE FUNCTION func_name ([func_parameter])", où "CREATE FUNCTION" est le mot-clé utilisé pour créer une fonction.
Recommandé : "Tutoriel vidéo mysql"
Création d'une fonction dans une base de données MySQL
Syntaxe
CREATE FUNCTION func_name ( [func_parameter] ) //括号是必须的,参数是可选的 RETURNS type [ characteristic ...] routine_body
CREATE FUNCTION est le mot-clé utilisé pour créer une fonction ;
func_name représente le nom de la fonction
func_parameters est la liste des paramètres ; de la fonction, la liste des paramètres est sous la forme : [IN|OUT|INOUT] param_name type
IN : indique les paramètres d'entrée
OUT : indique les paramètres de sortie ; >INOUT : indique les deux. Il peut s'agir d'une entrée ou d'une sortie ;
param_name : indique le nom du paramètre
type : indique le type du paramètre, qui peut être n'importe quel type dans MySQL ; base de données;
RETURNS type : L'instruction indique le type de données renvoyées par la fonction ;
caractéristique : spécifie les caractéristiques de la fonction stockée, la valeur est la même que celle de la procédure stockée. pour plus de détails, veuillez visiter - Utilisation de la procédure stockée MySQL ;
Exemple
Créer un exemple de base de données, un exemple de table et insérer un exemple de script de données :
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;
Créer une fonction - obtenir le nom et l'employé de l'employé. salaire basé sur l'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 ;
Fonction d'appel
Dans MySQL - les fonctions sont utilisées de la même manière que les fonctions internes de MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!