SP返回所有或过滤的数据

时间:2012-02-02 19:19:11

标签: sql-server sql-server-2008 tsql stored-procedures

我有一个存储过程(下面),它返回整个表。我试图这样做它将返回整个表或在一个Proc中返回一个特定的日期范围。这是可能的还是我需要两次触发?谢谢!

ALTER PROCEDURE [dbo].[GetLeads]
AS
    SELECT name
         , lastname
         , title
         , company
         , address
         , address2
         , city
         , [state]
         , zip
         , country

    FROM
        lead

1 个答案:

答案 0 :(得分:1)

ALTER PROCEDURE [dbo].[GetLeads] 
    @LastNameSearch varchar(100) = null
AS 
    SELECT name 
         , lastname 
         , title 
         , company 
         , address 
         , address2 
         , city 
         , [state] 
         , zip 
         , country 
     FROM 
        lead 
     where
         ((@LastNameSearch is null) or (lastname = @LastNameSearch))

以上将导致存储过程,如果您没有向其传递参数值,它将返回所有数据。如果您执行传递参数值,它将只返回lastname = @LastNameSearch的行。

相关问题