2012-05-24 68 views
0

假設我有一個正常的SQL過程,它有幾個參數。在SQL函數中設置變量/ probs

在調試這將是很好,如果我能分配一些值,這些參數,這樣我就可以突出PROC的身體並執行它(而不是手動替換值的變量。

有?沒有辦法做到這一點我想:

@Date1 datetime, 
@Date2 datetime 

SET @Date1 = '2012-03-23' 

,但它不喜歡呢??

回答

2

嘗試 DECLARE @Date1 datetime SET @Date1 = '2012-03-23'

看起來你失蹤的聲明語句。如果它不喜歡'2012-03-23'部分,則可能需要投射。

1

把「聲明」字在前面@日期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執行調試代碼。

+0

也許你想聲明@ @ Debug'參數作爲一個可選參數 – Sung

+0

@Sung它是可選的:它有一個默認值0x0 – Pondlife

+0

oops。你是對的池塘生活。我沒有看到0x0 – Sung