SQL Server:如何在动态过程中声明和设置变量

时间:2014-06-25 19:54:30

标签: sql sql-server stored-procedures dynamic declare

我想声明并设置变量作为动态过程的一部分。

我是新手,所以以下只是表明我想要实现的目标。 有人可以告诉我如何正确地写这个(只是关于这些线)?

@searchMain nvarchar(100) = '',
@searchInput nvarchar(256) = ''

AS
BEGIN

SET NOCOUNT ON;

BEGIN   

DECLARE @sql nvarchar(max),
        @searchDate datetime

CASE WHEN @searchMain = 'col1' THEN SET @searchDate = @searchInput ELSE SET @searchDate = '' END

SET @sql = 'SELECT TOP 100
-- ...

非常感谢您提供任何帮助,迈克。

1 个答案:

答案 0 :(得分:1)

改变这个:

CASE WHEN @searchMain = 'col1' THEN SET @searchDate = @searchInput ELSE SET @searchDate = '' END

对此:

SET @searchDate = CASE WHEN @searchMain = 'col1' THEN @searchInput ELSE '' END