Outra forma que tratar condições na cláusula WHERE no SQL Server 2000 ou 2005, é a seguinte:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | CREATE PROCEDURE SP_CONSULTA  /* define o parâmetro obrigatório */  @UF varchar(100),  /* define o parâmetro opcional - o valor default de ver igual a "null" */  @CIDADE varchar(100)  = null AS BEGIN  /* declara a variável que receberá a instrução SQL */  DECLARE @strSQL varchar(5000)  /* cria a primeira parte da instrução SQL */  Set @strSQL = 'SELECT * FROM TB_CIDADE WHERE UF = ''' + @UF + ''''  /* verifica se o parâmetro opcional não é nulo */  IF @CIDADE IS NOT NULL        BEGIN   /* se a condição for verdadeira, concatena o parâmetro opcional */   Set @strSQL = @strSQL + ' AND NOME_CIDADE = ''' + @CIDADE + ''''  END  /* executa a instrução SQL na variável @strSQL */  EXEC(@strSQL)  RETURN(0) END | 
