用戶可以按名字,姓氏搜索客戶,也可以選擇輸入城市。沒有動態SQL的動態搜索
只有當用戶使用動態SQL輸入一個W/O時,纔可以編寫與CITY相匹配的SQL?
CREATE PROCEDURE [dbo].[SearchCustomer]
@FirstName varchar(30) --REQUIRED
@LastName varchar(30)--REQUIRED
@City varchar(30) --OPTIONAL
AS
SELECT * FROM CUSTOMER C WHERE
C.FirstName = @FirstName AND
C.LastName = @LastName AND
C.City = IsNull(@City, C.City) --This won't Work if CITY is optional in the database
這不會因爲工作的信息,在他們指定的地方的情況一個城市,查詢將返回客戶記錄w ith一個空城市。 – ChadD 2011-03-08 12:30:58
@Velika:不應該,因爲null = null是不正確的。嘗試一下。 – Andomar 2011-03-08 12:39:51
我的錯誤。不錯的工作。當你看到答案時很容易... – ChadD 2011-03-08 12:49:29