• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql存储过程中的多个select问题

mysql存储过程中的多个select问题

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql等相关知识,希望本文的分享对您有所帮助
mysql

在存储过程中有多个select,但我想只让最后那个select作为结果集返回,怎么屏蔽其他的select输出?

回复内容:

mysql中要获得存储过程的返回值,可以增加一个out参数,用来返回。

mysql中存储过程的例子:
CREATE PROCEDURE addvoucher (
IN userid INT,
IN voucherid INT,
OUT result INT
)
BEGIN
SELECT
@endate_a := endate ,@batch_a := batch ,@c_count_a := c_count,
@isdead_a := isdead
FROM
t_voucher
WHERE
id = voucherid;

SET autocommit = 0;
IF EXISTS (
SELECT
*
FROM
t_user_voucher tuv,
t_voucher tv
WHERE
tv.id = tuv.voucherid
AND tv.batch =@batch_a
) THEN

SET result = 1;-- 已存在

SELECT
result;

ELSE

IF @c_count_a > 0 THEN

IF (
TO_DAYS(@endate_a) - TO_DAYS(NOW())
) > 0 THEN

IF @isdead_a = 1 THEN
INSERT INTO t_user_voucher (userid, voucherid, isdead)
VALUES
(userid, voucherid, 1);
UPDATE t_voucher SET c_count = c_count-1 where id = voucherid;

SET result = 0;-- 成功
END;


这不是我想要的结果,你的答案不对我的问题

1)首先你如果可以改存储过程吗?如果可以把前面几个屏蔽掉算了,既然不需要为什么要查询呢?
2)如果你不能改,最笨的办发就是你在数一下你要的那个select是第几个,然后在返回的结果里取第几个结果集

你先看看前面那几个select是不是必要的,咱们再想解决办法

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-12-05详解数据库MySQL中文乱码解决办法总结(图文)
  • 2017-05-11深入MYSQL字符数字转换的详解
  • 2018-12-05MySQL 分表优化试验代码
  • 2018-12-05PostgreSQL的执行计划分析
  • 2017-05-11基于mysql查询语句的使用详解
  • 2018-12-05在用户区还原SQL备份时出错的原因及处理办法
  • 2018-12-05oracle的rownum深入解析
  • 2018-12-05数据库记录删除方式 有哪些
  • 2018-12-05sqlserver 用户权限管理,LINQ去除它的重复菜单项
  • 2017-05-11Mysql字符串截取函数SUBSTRING的用法说明

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server中的XML数据进行insert、update、delete
    • mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项_MySQL
    • mysql数据库如何开启慢查询日志的详情介绍
    • sql 取两值之间的数据方法(例:100-200之间的数据)
    • mysql 动态生成测试数据
    • MySQL服务器的启动和关闭
    • MYSQL中 TYPE=MyISAM 错误的解决方法
    • mysql存储过程详解
    • MySQL5.7.19解压版的安装具体详解
    • MySql常用操作SQL语句汇总

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有