我有一个存储过程(下面),它返回整个表。我试图这样做它将返回整个表或在一个Proc中返回一个特定的日期范围。这是可能的还是我需要两次触发?谢谢!
ALTER PROCEDURE [dbo].[GetLeads]
AS
SELECT name
, lastname
, title
, company
, address
, address2
, city
, [state]
, zip
, country
FROM
lead
答案 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
的行。