假设我有一个普通的SQL过程,它有一些参数。
在调试期间,如果我可以为这些参数赋值,这样我就可以突出显示proc的主体并执行它(而不是手动用值替换变量。
有没有办法做到这一点?我试过了:
@Date1 datetime,
@Date2 datetime
SET @Date1 = '2012-03-23'
但它不喜欢它?
答案 0 :(得分:2)
尝试
DECLARE @Date1 datetime
SET @Date1 = '2012-03-23'
看起来你错过了declare语句。如果它不喜欢'2012-03-23'部分,你可能需要投射它。
答案 1 :(得分:2)
如果您要这样做,我建议您考虑在程序中添加@Debug参数:
create procedure dbo.SomeProc @p1 int, @p2 int, @Debug bit = 0x0
as
set nocount on
begin
if @Debug = 0x1 -- set test values only if debugging
begin
print 'Start debugging'
set @p1 = 1
set @p2 = 2
end
/* your code continues here... */
end
然后,当您想要测试代码时,只需使用@Debug = 0x1
执行该过程即可执行调试代码。
答案 2 :(得分:1)
将'declare'字样放在@ Date1
前面