假设我有一个普通的 SQL 过程,它有几个参数。
在调试过程中,如果我可以为这些参数分配一些值,这样我就可以突出显示 proc 的主体并执行它(而不是手动将变量替换为值。
有没有办法做到这一点?我试过:
@Date1 datetime,
@Date2 datetime
SET @Date1 = '2012-03-23'
但它不喜欢它??
假设我有一个普通的 SQL 过程,它有几个参数。
在调试过程中,如果我可以为这些参数分配一些值,这样我就可以突出显示 proc 的主体并执行它(而不是手动将变量替换为值。
有没有办法做到这一点?我试过:
@Date1 datetime,
@Date2 datetime
SET @Date1 = '2012-03-23'
但它不喜欢它??
尝试
DECLARE @Date1 datetime
SET @Date1 = '2012-03-23'
看起来你错过了声明声明。如果它不喜欢 '2012-03-23' 部分,您可能需要强制转换它。
如果你打算这样做,我建议你考虑在你的程序中添加一个@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
来执行调试代码。
在@Date1 前面加上“声明”字样