zoukankan      html  css  js  c++  java
  • Mysql存储过程查询结果赋值到变量的方法

    Mysql存储过程查询结果赋值到变量的方法
     
    把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:
     
    drop table if exists test_tbl;
    create table test_tbl (name varchar(20), status int(2));
    insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
     
    drop procedure IF EXISTS pro_test_3;
    delimiter //
    create procedure pro_test_3()
    begin
    --  方式 1
        DECLARE cnt INT DEFAULT 0;
        select count(*) into cnt from test_tbl;
        select cnt;
     
    --  方式 2
        set @cnt = (select count(*) from test_tbl);
        select @cnt;
    
     
    
    --  方式 3
        select count(*) into @cnt1 from test_tbl;
        select @cnt1;
    
     
    
    --  多个列的情况下似乎只能用 into 方式
    
        select max(status), avg(status) into @max, @avg from test_tbl;
    
        select @max, @avg;
    
    end
    
    //
    
    delimiter ;
     
    call pro_test_3();
  • 相关阅读:
    hibernate
    杨辉三角
    查看端口号
    一个线程同步问题的例子
    SQL关系数据库设计三大范式
    C#OpenFileDialog的使用
    莫队算法
    蒟蒻已知的高能数学公式
    C++ 产生随机数
    C++ 输出小数点后 n 位
  • 原文地址:https://www.cnblogs.com/duanxz/p/3936683.html
Copyright © 2011-2022 走看看