mysql 存储过程:提供查询语句并返回查询执行影响的行数

mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$
DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$
CREATE
    PROCEDURE `test_cases`.`p_get_select_row_number`(IN p_select_sql VARCHAR(200), OUT p_count INT(8) )
    BEGIN
    -- 声明
    DECLARE cnt INT DEFAULT 0;
    DECLARE stmt VARCHAR(200);

    -- 赋值
    SET @stmt = CONCAT(p_select_sql);
    -- prepare
    PREPARE s1 FROM @stmt;
    -- 执行
    EXECUTE s1;
    -- 获取查询影响的行数
    SET @cnt = FOUND_ROWS();
    -- 输出影响函数
    SELECT @cnt INTO p_count ;   

    END$$

DELIMITER ;

CALL p_get_select_row_number(‘select * from report‘, @qqq);
SELECT @qqq;

执行结果

8 rows in set (0.00 sec)

Query OK, 1 row affected (0.05 sec)

mysql> SELECT @qqq;
+------+
| @qqq |
+------+
| 8 |
+------+
1 row in set (0.00 sec)

时间: 2024-10-10 23:20:41

mysql 存储过程:提供查询语句并返回查询执行影响的行数的相关文章

EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值

一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过 using (var ctx = new MyDbContext()) { ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1"); } 二 : Database.SqlQuery<T>   EF5执行sql查询语句

SQL Server返回插入数据的ID和受影响的行数

首先看看数据库里面的数据(S_Id为自增长标识列): sql server 中返回上一次插入数据的ID(标识值)有三种方式: 第一种 @@IDENTITY: 1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) 2 values('013','卫庄','男','185'); 3 4 select @@IDENTITY -- 返回 17 @@IDENTITY可以返回当前连接所有范围内插入最后所生成的标识值(包括任何调用的存储过程和触发器).这个函

sql语句影响的行数

全局变量@@RowCount 和函数RowCount_Big()用于返回上一条语句影响的行数.如果行数大于 20 亿,则需要使用ROWCOUNT_BIG(). 1,ROWCOUNT_BIG(): Following a SELECT statement, this function returns the number of rows returned by the SELECT statement. Following an INSERT, UPDATE, or DELETE statemen

MySQL学习——SQL查询语句(连接查询&amp;子查询)(三)

一:连接查询: 连接查询是将俩个或者俩个以上的表按照某个条件连接起来,从中选择需要的数据,连接查询同时查询俩个或者俩个以上的表时使用,当不同的表中存在表示相同意义的字段时,可以通过该字段来连接这几个表,例如,学生表中有course_id字段来表示所学课程的课程号,课程表中有num字段来表示课程号,那么可以通过学生表中的course_id字段与课程表中的num字段来进行连接查询,连接查询包括内连接查询和外连接查询. 1.1 内连接查询 内连接查询是一种常用的连接查询,内连接查询可以查询俩个或者以上

Mysql查询语句之排序查询

语法: /* select 查询列表 from 表 [where 筛选条件] order by 排序列表 [asc/desc] */ ①asc为升序,desc为降序,且默认为升序 ②order by子句可以支持单个字段.多个字段.表达式.函数.别名 ③order by子句一般放在查询语句的最后面,limit子句除外 原文地址:https://www.cnblogs.com/algorithmpuppy/p/11963775.html

[原创]java WEB学习笔记90:Hibernate学习之路-- -HQL检索方式,分页查询,命名查询语句,投影查询,报表查询

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

sql查询语句并不是最先执行SELECT

很多的SQL查询语句都是以SELECT关键字开始的,所以我们很容易会以为SQL查询语句就是最先执行的SELECT.不过,当我尝试跟别人解释什么是窗口函数的时候,针对是否可以对窗口函数返回的结果进行过滤这个问题,最终得出的结论是窗口函数的执行必须在WHERE子句和GROUP BY子句之后,所以不能对窗口函数返回的结果进行再次过滤.于是我又想到了另一个问题:SQL查询的执行顺序究竟是怎样的? 这个问题好像应该很好回答,毕竟自己已经写了成千上万个SQL查询了,其中的一些还很复杂.但事实是,我仍然很难确

T-SQL高级查询语句(父子查询)

1 T-SQL高级查询语句 2 3 高级查询 4 5 1.连接查询,对结果集列的扩展 6 select * from info 7 8 select * from info,nation #形成笛卡尔积 9 select * from info,nation where info.nation=nation.code 10 select info.code,info.name,sex,nation.name,birthday from info,nation where info.nation=

T-SQL简单查询语句(模糊查询)

1 T-SQL简单查询语句 2 3 简单查询: 4 5 1.最简单查询(查所有数据) 6 select * from 表名: 注:* 代表所有列 7 select * from info 8 9 2.查询指定列 10 select code,name from info 11 12 3.修改结果集的列名 13 select code as '代号',name as '姓名' from info 14 15 4.条件查询 16 select * from info where code='p003