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) ENDI want to pass either, both, or none. I'm running it like this:
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 @CompanyKeyIn all cases I'm getting back all records. If I change the OR to AND, then the second run returns no records.