Podczas wyszukiwania listy produktów parametr @SearchType
jest opcjonalny. Jeśli @SearchType
jest pusty lub NULL
, powinien zwrócić wszystkie produkty i nie używać klauzuli WHERE
. W przeciwnym razie, jeśli minie Equipment
, to użyje tego zamiast tego.Serwer SQL: sprawdź, czy zmienna jest pusta lub NULL dla klauzuli WHERE
ALTER PROCEDURE [dbo].[psProducts]
(@SearchType varchar(50))
AS
BEGIN
SET NOCOUNT ON;
SELECT
P.[ProductId],
P.[ProductName],
P.[ProductPrice],
P.[Type]
FROM [Product] P
-- if @Searchtype is not null then use the where clause
WHERE p.[Type] = @SearchType
END
To nie działa. Nie zwraca żadnych wyników, gdy nie przekazuję żadnego parametru. Strona produktów szuka łańcucha zapytania dla typu, jeśli nie, a następnie ustawia parametr metody Type = "". Tak wierzę, że zapisany proc może szukał SearchType = "", który nie zwraca żadnych wyników. Chcę zwrócić WSZYSTKIE wyniki. – User970008
Działa, dziękuję !!! – User970008
Nie działa, ponieważ podajesz pusty ciąg znaków. Pusty łańcuch nie ma wartości NULL! –