mysql存储过程单步调试
mysql调试存储过程具体方法:
在你的存储过程中加入如下语句:
SELECT
变量1,变量2;
然后用mysql自带的cmd程序进入mysql>
下。
call
你的存储过程名(输入参数1,@输出参数);(注:这里帮助下新同学,如果你的存储过程有输出变量,那么在这里只需要加
@
然后跟任意变量名即可);
即可发现你的变量值被打印到了cmd下
Ⅱ 有人用dbForge Studio for MySQL调试存储过程的吗的相关推荐
dbForge很好用, 先看你的版本是否支持调试,dbForge按照销售的价格免费版是没有调试功能的。
开始调试F11, 填入你的存储过程的数据,然后单步执行都是F11, 用鼠标可以看内存变量数值,也可以用watch看具体的变量名称。 F9在相应行设置断点。
Ⅲ plsql中如何单步调试带参数的存储过程
你test的时候需 在test下面的inmonth里面输入一个值!
比如
create procere c(a in varchar2,b out varchar2)
is
begin
b:=a;
end;
test的时候
需要在a 的value中输入一个值!
b不用输入,在执行完procere后b便会有一个值(a)
Ⅳ [MYSQL]怎么调试存储过程或调试方法
MYSQL 5.0以前是不支持存储过程的,当然如果你用了5以后的版本,自然可以了。
调试,是没办法的,只能看结果。
Ⅳ 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更慢。
Ⅵ MySQL的存储过程怎样进行单步调试
好像没有调试的功能,不过你可以用select语句输出一些变量的信息
Ⅶ navicat 怎样调试mysql存储过程
navicat 怎样调试mysql存储过程
使用Navicat for MySQL工具创建存储过程步骤:
1. 新建函数(选择函数标签 -> 点击新建函数):
2、输入函数的参数个数、参数名、参数类型等:
3、编写存储过程:
4、保存(请输入合法名称):
5、运行存储过程(在结果1,2,3...中可以查询输出信息):
Ⅷ mysql 存储过程怎么调用
php调用mysql存储过程和函数的方法
存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。
在php中调用存储过程和函数。
1。调用存储过程的方法。
a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql
变量。
b。如果存储过程有OUT变量,声明一个Mysql变量。
mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar=$pbpvar");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果是IN参数,那么其值可以由phpar传入。
d。 如果是存储过程。
1。执行 call procere()语句。
也就是mysql_query("call proceer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。 直接执行 select function() 就可以了。
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];
Ⅸ 为什么Mysql会垃圾到连存储过程的单步调试功能都没有
mySQL是一个比较成熟的中小型数据库,用户非常广泛,其中也不乏知名的大公司。当然,每种东西都会有缺点,mysql也不例外,但是把它说成是垃圾,这一点无论是从技术上还是从感情上恐怕都是说不通的,更何况您的理由竟然是“phpmyadmin又难用界面难看死了,还有中文乱码”,不过这也正好说明了您对于mySQL的不了解(确切地说应该是“mySQL的文盲”,因为以上两个问题都正是您对于mySQL的无知才出现的,就算您说的对——它长得难看,那也可以换吗,mySQL的管理工具多得是了),我想通过您的进一步学习,您应该会喜欢上它的。