前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL存储过程示例

MySQL存储过程示例

作者头像
zls365
发布2020-08-19 12:00:24
3060
发布2020-08-19 12:00:24
举报
文章被收录于专栏:CSharp编程大全

实例1:

为了演示MySQL中的存储过程,我们先创建一些表和数据:

代码语言:javascript
复制
drop table if exists my_test_table;
create table my_test_table (
    id integer primary key not null AUTO_INCREMENT,
    name varchar(),
    age integer,
    point double
);
insert into my_test_table (name,age,point) values 
    ('刘德华',,10.0),('周杰伦',,20.0),('周星驰',,40.0),('范晓萱',,20.0),('陈绮贞',,10.0),
    ('朴树',,12.0),('谢天笑',,10.0),('谢春花',,10.0),('房东的猫',,100.0),('许巍',,10.0);

然后创建一个空参数的存储过程:

代码语言:javascript
复制
delimiter //
create procedure test_procedure1()
begin 
    select avg(point) as pointaverage
    from my_test_table;
end //
delimiter ;

然后运行这个存储过程:

代码语言:javascript
复制
call test_procedure1()

可以看到结果如下:

代码语言:javascript
复制
pointaverage|
------------|
        24.2|

删除存储过程:

代码语言:javascript
复制
drop procedure test_procedure1

实例2:

举例:求两个数的最大值

if实现

代码语言:javascript
复制
#DELIMITER $$
CREATE PROCEDURE compare(IN n1 INT,IN n2 INT)
BEGIN
    SET @res=0;
    IF n1 > n2 THEN
        SET @res=n1;
    ELSEIF n1 = n2 THEN
        SET @res=n1;
    ELSE
        SET @res=n2;
    END IF;
END #$$
#DELIMITER ;
代码语言:javascript
复制
call compare(100,2);
select @res;

CASE语句

代码语言:javascript
复制
#DELIMITER $$
CREATE PROCEDURE compare2(IN n1 INT,IN n2 INT)
BEGIN
    SET @res=0;
    CASE  
        WHEN n1>n2 THEN 
            SET @res=n1;
        WHEN n1=n2 THEN 
            SET @res=n1;
        ELSE 
            SET @res=n2;
    END CASE;
END #$$
#DELIMITER ;

WHILE语句

代码语言:javascript
复制
#delimiter $$
CREATE PROCEDURE inserinfo3()
BEGIN
    DECLARE x INT DEFAULT 9;
    ins: WHILE x<=18 DO
       SET x=x+1;
       INSERT INTO users(name,gender) VALUES(x,'女');
    END WHILE;
END #$$
#delimiter ;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档