程序调用存储过程,方便简洁,而且如果逻辑有问题,修改存储过程就行,没有必要对程序进行升级,这个是最大的好处。但是现实中,存储过程往往也会出现一些问题.
现在谈谈怎么用辅助方式来发现存储过程的一些技巧.
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
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表就可以看到效果了