码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程辅助调试

时间:2015-05-15 21:28:48      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

程序调用存储过程,方便简洁,而且如果逻辑有问题,修改存储过程就行,没有必要对程序进行升级,这个是最大的好处。但是现实中,存储过程往往也会出现一些问题.

现在谈谈怎么用辅助方式来发现存储过程的一些技巧.


1)别名。假如正式生产环境下,客户发现你的程序有问题,你环境程序调用的存储过程PROC_A有问题。你想修改PROC_A的,但是又不能立即修改。其实,你可以这么做,将存储过程PROC_A的内容拷贝出来,重新创建一个名字为PROC_B的存储过程,这样你就可以在正式环境下直接传入相关的参数来执行PROC_B看看执行的效果直到修改好PROC_B,没有问题后。再将新修改的存储过程内容替换上去

2)在调试存储过程,需要看看执行到哪一步的效果,可以用print打印相关日志查看到效果.

类似以下的存储过程PROC_A:留意定义的@msg变量,将整形以及字符串的转换后直接打印出来.这样调用存储过程之后就可以看到下面的打印日志

create proc PROC_A
( 
  
@ID     varchar(20)
)        
as  
begin   
	  declare @msg varchar(255)
	  select  @msg='test'
	  print @msg
	  declare @a int
	  a=10
	  select @msg = convert( varchar, @a) 
	  print @msg
end                          
go                                        
print    'PROC_A'
go                                    


3)还可以接入创建表来帮助定位问题,在存储过程里面插入test表一些相关数据,然后查看test表执行到哪一部了.

drop table Test
create table Test
(
Id   numeric(8, 0)		not null,
msg  varchar(255)          null
)

create proc PROC_A
( 
  
@ID     varchar(20)
)        
as  
begin   
   insert into Test(Id,msg) values(0, convert( varchar, @ID) )
end                          
go                                        
print    'PROC_A'
go                                    

上面的存储过程调用完成之后,查询test表就可以看到效果了


存储过程辅助调试

标签:

原文地址:http://blog.csdn.net/loveheronly/article/details/45748969

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!