各位用户为了找寻关于MySQL存储过程的查询命令介绍的资料费劲了很多周折。这里教程网为您整理了关于MySQL存储过程的查询命令介绍的相关资料,仅供查阅,以下为您介绍关于MySQL存储过程的查询命令介绍的详细内容
如下所示:
? 1select
name
from
mysql.proc
where
db=
'数据库名'
;
或者
? 1select
routine_name
from
information_schema.routines
where
routine_schema=
'数据库名'
;
或者
? 1 2show
procedure
status
where
db=
'数据库名'
;
SHOW
CREATE
PROCEDURE
数据库.存储过程名;
补充:MySQL存储过程-循环遍历查询到的结果集
1、创建存储过程
根据MySQL的语法创建存储过程,要注意的是如果循环遍历查询到的结果集,取出结果集中的数据做操作。
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22CREATE
DEFINER=`root`@`%`
PROCEDURE
`alter_view_counts`()
BEGIN
#声明结束标识
DECLARE
end_flag
int
DEFAULT
0;
DECLARE
albumId
bigint
;
#声明游标 album_curosr
DECLARE
album_curosr
CURSOR
FOR
SELECT
album_id
FROM
album;
#设置终止标志
DECLARE
CONTINUE
HANDLER
FOR
NOT
FOUND
SET
end_flag=1;
#打开游标
OPEN
album_curosr;
#遍历游标
REPEAT
#获取当前游标指针记录,取出值赋给自定义的变量
FETCH
album_curosr
INTO
albumId;
#利用取到的值进行数据库的操作
UPDATE
album
SET
album.views_count= (
SELECT
SUM
(light_chat.views_count)
FROM
`light_chat`
WHERE
light_chat.album_id = albumId)
WHERE
album.album_id = albumId;
# 根据 end_flag 判断是否结束
UNTIL end_flag
END
REPEAT;
#关闭游标
close
album_curosr;
END
2,调用存储过程
? 1
CALL alter_view_counts()
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/wrh_csdn/article/details/79472910