0

假设我有一个普通的 SQL 过程,它有几个参数。

在调试过程中,如果我可以为这些参数分配一些值,这样我就可以突出显示 proc 的主体并执行它(而不是手动将变量替换为值。

有没有办法做到这一点?我试过:

@Date1 datetime,
@Date2 datetime

SET @Date1 = '2012-03-23'

但它不喜欢它??

4

3 回答 3

2

尝试 DECLARE @Date1 datetime SET @Date1 = '2012-03-23'

看起来你错过了声明声明。如果它不喜欢 '2012-03-23' 部分,您可能需要强制转换它。

于 2012-05-24T14:22:14.617 回答
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来执行调试代码。

于 2012-05-24T14:32:24.063 回答
1

在@Date1 前面加上“声明”字样

于 2012-05-24T14:21:47.627 回答