>> >>CREATE PROCEDURE bm_GetClients >> @CompanyKey INT = NULL, >> @ClientKey INT = NULL >> >>AS >>BEGIN >> >> SELECT * >> FROM bm_Clients >> WHERE CompanyKey = ISNULL(@CompanyKey, CompanyKey) OR >> ClientKey = ISNULL(@ClientKey, ClientKey) >> >>END >>>>
>>DECLARE @CompanyKey INT >>DECLARE @ClientKey INT >>SET @CompanyKey = 2 >>SET @ClientKey = 5 >> >>EXEC bm_GetClients >>EXEC bm_GetClients @ClientKey >>EXEC bm_GetClients @CompanyKey, @ClientKey >>EXEC bm_GetClients @CompanyKey >>>>
>WHERE CompanyKey = ISNULL(@CompanyKey, CompanyKey) OR > ClientKey = ISNULL(@ClientKey, ClientKey) >>
>WHERE CompanyKey = ISNULL(@CompanyKey, CompanyKey) AND > ClientKey = ISNULL(@ClientKey, ClientKey) > >If I change the OR to AND, then the second run returns no records.