成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

mysql查看所有存储过程

Q1:mysql怎么查看存储过程的创建语句

查看存储过程创建语句可运行下列SQL语句:
语法
show create {procedure|function} sp_name;
例如查看存储过程myPro的创建语句
show create procedure myPro;
查看自定义函数myFunc的创建语句
show create function myFunc;

Q2:怎么查看mysql存储过程执行没有

call sp_add(); 是不是你定义的过程有问题吧,并没有指出返回结果来 像我这样是可以的: CREATE PROCEDURE sp_add(a int, b int,out c int) begin set c=a+ b; end;
调用过程: call sp_add (1,2,@a); select @a;

Q3:怎么在mysql中查询已建立的存储过程

可以用 命令"show PROCEDURE status"查看所有的存储过程或检索系统表"mysql.proc"来查询已有的存储过程。
例如:
用show PROCEDURE status命令查看:
-- 查看所有的存储过程
show PROCEDURE status;
-- 查看特定数据库存储过程
show PROCEDURE status where db=test;
-- 用指定的登录名查看该用户创建的存储过程
show PROCEDURE status where definer=root@localhost;-- @localhost为用户登录位置(本地登录)
-- 查看指定时间段创建存储过程
show PROCEDURE status where created between 2017-02-17 00:00:00
and 2017-02-17 23:59:59;
用系统表mysql.proc来查看:
-- 查看所有的存储过程信息
select * from mysql.proc;
-- 查看特定数据库里的存储过程
select * from mysql.proc where db=test;
-- 查看某个用户定义的存储过程
select * from mysql.proc where definer=root@localhost;
-- 查看某时间段创建的存储过程
select * from mysql.proc where created between 2017-02-17 00:00:00
and 2017-02-17 23:59:59;

Q4:MYSQL 存储过程 取得一个表的查询结果

假设A表有3个字段,ID, DATA1,DATA2、简单的话可以不使用存储过程,比如:
select * form A where ID in (select ID from A where DATA1 between 0 and 100)
如果你的应用比较复杂,在嵌套中还有复杂的运算,存储过程可以如下例子:
CREATE PROCEDURE test(in_start int,in_end int)
BEGIN
DECLARE ids TEXT;
select GROUP_CONCAT(ID) into ids from A where DATA1 between in_start and in_end;
select * from A where FIND_IN_SET(ID,ids) > 0;
END
注: in_start, in_end是DATA1的筛选范围。 后面一个select直接返回一个表
直接用SQL和使用存储过程各有利弊,存储过程在你使用大量查询及SQL运算的时候效率很高,而且存储过程一旦写入数据库会被自动编译运行速度比较快,而SQL是每次执行都需要被编译一次的。但是存储过程的调试比较麻烦,不像你使用编程语言和SQL的时候可以单步调试。而且如果没有熟练掌握存储过程的效率优化情况下,使用存储过程可能比使用SQL更慢。

Q5:如何查看mysql存储过程的执行计划

call sp_add(); 是不是你定义的过程有问题吧,并没有指出返回结果来 像我这样是可以的: CREATE PROCEDURE sp_add(a int, b int,out c int) begin set c=a+ b; end; 调用过程: call sp_add (1,2,@a); select @a;

Q6:如何查看mysql内的存储过程总数

您好,我看到您的问题很久没有人来回答,但是问题过期无人回答会被扣分的并且你的悬赏分也会被没收!所以我给你提几条建议:
一,你可以选择在正确的分类下去提问,这样知道你问题答案的人才会多一些,回答的人也会多些。
二,您可以到与您问题相关专业网站论坛里去看看,那里聚集了许多专业人才,一定可以为你解决问题的。
三,你可以向你的网上好友问友打听,他们会更加真诚热心为你寻找答案的,甚至可以到相关网站直接搜索.
四,网上很多专业论坛以及知识平台,上面也有很多资料,我遇到专业性的问题总是上论坛求解决办法的。
五,将你的问题问的细一些,清楚一些!让人更加容易看懂明白是什么意思!
谢谢采纳我的建议! !

猜你喜欢

更多