2013-08-22 100 views
0

也許這甚至不是一個問題..但我有一個問題,我有我的客戶結仇...SQL Server參數問題

我有隻有一步一個SQL Server作業..

步驟爲:

EXEC dbo.MyProc 7 

而過程dbo.MyProc定義爲:

create dbo.MyProc 
    (@Param INT = 30) 
as 
begin 
    some delete statements here taking @Param as the condition in where clause... 
end 

我的問題是關於工作的參數是什麼。它是7還是30?

我的猜測是因爲30在過程中硬編碼,作業將通過30

我知道這個問題跑不應該被問過,但我無法想象這個..

指針和幫助將不勝感激。

Regards

+0

肯定。馬克先生...將這樣做..我已經寫了MS SQL服務器 – Anurag

回答

1

看起來您正在使用SQL Server語法。正確的語法是:

create dbo.MyProc (
    @Param int = 30; 
) 
. . . 

30是一個默認值,在沒有其他價值傳遞使用,因此,對於你的問題,值「7」實際上是什麼得到傳入

+0

哦,我明白了......是的語法是@Param int = 30; ...我錯過了在我的問題中寫入int ...所以每一次7將會通過.. – Anurag

+0

@Auurag。 。是的,只有當您調用參數值時纔會使用默認值。它使參數成爲默認參數。 –

+0

我明白了......謝謝戈登...... – Anurag