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();
  • 相关阅读:
    字符串匹配之BF算法
    python里的反射(自学习)
    python的super()以及父类继承
    @staticmethod
    @classmethod
    scrapy
    mongodb
    js注入提取伪元素选择器
    execjs
    base64解密
  • 原文地址:https://www.cnblogs.com/duanxz/p/3936683.html
Copyright © 2011-2022 走看看