当前位置:Gxlcms > 数据库问题 > MySQL存储过程入门

MySQL存储过程入门

时间:2021-07-01 10:21:17 帮助过:16人阅读

DELIMITER // -- 设定语句结束分隔符
DROP PROCEDURE IF EXISTS GetSalary; -- 如果该存储过程已经存在,则删除

CREATE PROCEDURE GetSalary ( OUT salaryhigh INT, OUT salarylow INT, OUT salaryavg INT ) BEGIN -- 创建不含有输入输出变量的存储过程
    SELECT
        Max( salary ) INTO salaryhigh 
    FROM
        salaries;
        
    SELECT
        Min( salary ) INTO salarylow 
    FROM
        salaries;
        
    SELECT
        Avg( salary ) INTO salaryavg 
    FROM
        salaries;
    
END // 
DELIMITER; -- 重新设定语句结束分隔符,每次查询结束后都要将分隔符还原为;

 

创建带有输出变量的存储过程

DELIMITER // -- 设定语句结束分隔符
DROP PROCEDURE IF EXISTS GetTotalNum; -- 如果该存储过程已经存在,则删除

CREATE PROCEDURE GetTotalNum (OUT TotalNum INT ) BEGIN -- 创建带有输出变量的存储过程
    SELECT
        count( * ) INTO TotalNum 
    FROM
        dept_emp;
    
END // 
DELIMITER ;-- 重新设定语句结束分隔符,每次查询结束后都要将分隔符还原为;

 

创建带有输入输出变量的存储过程

DELIMITER // -- 设定语句结束分隔符
DROP PROCEDURE IF EXISTS GetNumEachDept; -- 如果该存储过程已经存在,则删除
CREATE PROCEDURE GetNumEachDept ( IN dept CHAR(10), OUT NumDept INT ) BEGIN -- 创建带有输入输出变量的存储过程
    SELECT
        count( * ) INTO NumDept 
    FROM
        dept_emp 
    WHERE
        dept_no = dept;
    
END// 
DELIMITER; -- 重新设定语句结束分隔符,每次查询结束后都要将分隔符还原为;

MySQL存储过程入门

标签:分隔符   weight   max   pre   where   avg   mys   变量   结束   

人气教程排行