SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE ap_GetProducts (@ProductId INT = NULL, @Product_Series VARCHAR(100)= NULL, @Product_Number VARCHAR(20)= NULL, @Product_Name VARCHAR(100)= NULL, @Product_Description VARCHAR(MAX)= NULL) AS BEGIN SELECT * FROM HPProductsData WHERE ProductId = ISNULL(@ProductId, ProductId) AND Product_Series = ISNULL(@Product_Series, Product_Series )AND Product_Number = ISNULL(@Product_Number, Product_Number) AND Product_Name = ISNULL(@Product_Name, Product_Name) AND Product_Description = ISNULL(@Product_Description, Product_Description) ENDWhen I run it like this:
EXEC ap_GetProducts -- No params passedI get back 1310 records
SELECT * FROM HPProductsDataI get back 44786 records
SELECT * FROM HPProductsData WHERE Product_Name != NULLI get back 1310 records