mysql的procedure里面,查询语句放在V_SQL变量里面 怎么去执行它,看它返回多少行?

csdn1111 2009-06-01 05:04:05
mysql的procedure里面,查询语句放在V_SQL变量里面 怎么去执行它,看它返回多少行?


:
set v_sql=" select * from dual";
sql%rowcount?
...全文
121 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn1111 2009-06-02
  • 打赏
  • 举报
回复
靠!

foolish MySQL

爷们是oracle ERP顾问
vinsonshen 2009-06-01
  • 打赏
  • 举报
回复
sql%rowcount
这个是oracle的
mssql的话,可以@@rowcount
vinsonshen 2009-06-01
  • 打赏
  • 举报
回复
可以在存储过程内部获取FOUND_ROWS() 值赋给输出参数变量,然后外面直接引用存储过程的输出参数即可。
ACMAIN_CHM 2009-06-01
  • 打赏
  • 举报
回复

用prepare

mysql> CREATE PROCEDURE curdemo1(IN V_SQL CHAR(100))
-> BEGIN
->
-> set @s=V_SQL;
-> PREPARE stmt1 FROM @s;
-> EXECUTE stmt1 ;
-> DEALLOCATE PREPARE stmt1;
-> select FOUND_ROWS();
-> END
-> //
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> delimiter ;
mysql> call curdemo1('select * from student');
+----------+--------+------+------+---------+-------------+-------+-
| id | name | sex | age | address | phone | bedid |
+----------+--------+------+------+---------+-------------+-------+-
| 91010101 | 丁乙甲 | 男 | 21 | 通化 | 13900000000 | 111 |
| 91010102 | 索春龙 | 男 | 22 | 安徽 | 13910000000 | 0 |
| 91010103 | 刘莉莉 | 女 | 22 | 白城 | 13920000000 | 0 |
| 91010104 | 隋鑫 | 女 | 22 | 松原 | 13930000000 | 0 |
| 91010105 | 长命 | 男 | 22 | 地府 | 12222222222 | 0 |
| 91010201 | 河江山 | 男 | 20 | 陕西 | 13800000000 | 0 |
| 91010202 | 祝立业 | 男 | 20 | 长春 | 13800000000 | 0 |
....
| 91030201 | 王飞 | 男 | 22 | 永安 | 13730060000 | 0 |
+----------+--------+------+------+---------+-------------+-------+-
24 rows in set (0.00 sec)

+--------------+
| FOUND_ROWS() |
+--------------+
| 24 |
+--------------+
1 row in set (0.06 sec)

Query OK, 0 rows affected (0.06 sec)

mysql>


WWWWA 2009-06-01
  • 打赏
  • 举报
回复
在SP中执行嘛,楼主可以自行测试一下
csdn1111 2009-06-01
  • 打赏
  • 举报
回复
怎么去执行?
wwwwb 2009-06-01
  • 打赏
  • 举报
回复
select FOUND_ROWS()

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧