在SQL Server中可选参数存储过程?

我在SQL Server 2008中编写了一些存储过程,并想知道可选input参数的概念是否可以在这里?

我想我总是可以传递NULL参数我不想使用,检查存储过程中的值,然后从那里拿东西,但我有兴趣,如果这个概念在这里可用。 谢谢!

你可以这样声明

CREATE PROCEDURE MyProcName @Parameter1 INT = 1, @Parameter2 VARCHAR (100) = 'StringValue', @Parameter3 VARCHAR (100) = NULL AS /* check for the NULL / default value (indicating nothing was passed */ if (@Parameter3 IS NULL) BEGIN /* whatever code you desire for a missing parameter*/ INSERT INTO ........ END /* and use it in the query as so*/ SELECT * FROM Table WHERE Column = @Parameter 

是的。 声明参数如下:

 @Sort varchar(50) = NULL 

现在你甚至不需要传入参数。它将默认为NULL(或者你select默认的)。