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

    Mysql存储过程查询结果赋值到变量的方法
     
    把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:
     
    01
    drop table if exists test_tbl;
    02
    create table test_tbl (name varchar(20), status int(2));
    03
    insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
    04
     
    05
    drop procedure IF EXISTS pro_test_3;
    06
    delimiter //
    07
    create procedure pro_test_3()
    08
    begin
    09
    --  方式 1
    10
        DECLARE cnt INT DEFAULT 0;
    11
        select count(*) into cnt from test_tbl;
    12
        select cnt;
    13
     
    14
    --  方式 2
    15
        set @cnt = (select count(*) from test_tbl);
    16
        select @cnt;
    17
     
    18
    --  方式 3
    19
        select count(*) into @cnt1 from test_tbl;
    20
        select @cnt1;
    21
     
    22
    --  多个列的情况下似乎只能用 into 方式
    23
        select max(status), avg(status) into @max, @avg from test_tbl;
    24
        select @max, @avg;
    25
    end
    26
    //
    27
    delimiter ;
    28
     
    29
    call pro_test_3();
  • 相关阅读:
    在SQL2000怎樣用動態實現SQL2005的nvarchar(max)功能
    行列互换
    c#+GUI在aspx页面画图
    做网站用UTF8还是GB2312?
    Mvc如何做权限
    表白网
    vs2008保存很慢,提速
    MVC 向View传值
    aspx画图表
    什么是MVC
  • 原文地址:https://www.cnblogs.com/vincentvoid/p/6433085.html
Copyright © 2011-2022 走看看