CREATE DEFINER=`rootdba`@`%` PROCEDURE `case_30day_ser4`(OUT out_flag INT,out_table VARCHAR(200))
BEGIN
DECLARE cr_stack_depth INTEGER DEFAULT cr_debug.ENTER_MODULE2('case_30day_ser4', 'parts', 7, 100632)/*[cr_debug.1]*/;
DECLARE l_serial_number VARCHAR(50);
DECLARE l_Account_Name VARCHAR(200);
DECLARE l_open_date DATETIME ;
DECLARE l_row_num_team VARCHAR(20);
DECLARE l_sub_gbu VARCHAR(30);
DECLARE l_num INT;
/*定义游标*/
DECLARE cu_case CURSOR FOR SELECT DISTINCT `serial_number`,`Account_Name`,`open_date`,`row_num_team` , `sub_gbu` FROM temp_case_ser7   ORDER BY row_num_team,open_date;
DECLARE CONTINUE HANDLER FOR NOT FOUND BEGIN/*[cr_debug.3 5]*/
DECLARE cr_stack_depth INTEGER DEFAULT cr_debug.ENTER_HANDLER('case_30day_ser4_Handler', 'case_30day_ser4', 'parts', 7, 100632)/*[cr_debug.2]*/;
CALL cr_debug.UPDATE_WATCH3('l_serial_number', l_serial_number, 'VARCHAR(50)', cr_stack_depth)/*[cr_debug.2]*/;
[color=#FF0000]CALL cr_debug.UPDATE_WATCH3('l_Account_Name', l_Account_Name, 'VARCHAR(200)', cr_stack_depth)/*[cr_debug.2]*/;
CALL cr_debug.UPDATE_WATCH3('l_open_date', l_open_date, 'DATETIME', cr_stack_depth)/*[cr_debug.2]*/;
CALL cr_debug.UPDATE_WATCH3('l_row_num_team', l_row_num_team, 'VARCHAR(20)', cr_stack_depth)/*[cr_debug.2]*/;
CALL cr_debug.UPDATE_WATCH3('l_sub_gbu', l_sub_gbu, 'VARCHAR(30)', cr_stack_depth)/*[cr_debug.2]*/;
[/color]

解决方案 »

  1.   

    调试完毕的存储过程,在其它工具中添加了很多调试用的语句信息,所以在调试完成后再次右击存储过程,然后Debug,并选择Compile或直接按Ctrl+F7
    这时候可以看到数据库多了一个cr_debug库
    给对应需要调试的数据库的用户授予cr_debug库的所有权限和mysql库的select权限,当这种处理完毕后就可以正常使用dbforge studio for mysql的调试功能了