2013-08-22 66 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