Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro Sousa

[Resolvido] Procedure com parametros Null.

Recommended Posts

Bom dia pessoal,

Estou iniciando com SQLServer e estou com um problema na criação de procedure.

 

É o seguinte, gostaria de fazer com que a procedure quando não fosse passado valor algum para parametro então ela já fosse por Default null, sei fazer isso no Oracle, mas nao no sqlServer.

 

meu código:

 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_BuscaFornecedor]

	@pCodigo	int = NULL,
	@pCnpj		nvarchar(54) = NULL,
	@pRazao		nvarchar(40) = NULL

AS
BEGIN

	SET NOCOUNT ON;

	SELECT FO.IDFORN,
			FO.CODIGO, 
			FO.FORNECE AS FORNECEDOR, 
			FO.CNPJ, 
			FO.IE
	FROM FORN FO
	WHERE ((FO.FORNECE LIKE + '"' + @pRazao + '%"') OR (@pRazao is not null))
	OR ((FO.CNPJ = @pCnpj) OR (@pCnpj is not null))
	OR ((FO.CODIGO = @pCodigo) OR (@pCodigo is not null))

END

Ele não da erro, mas não esta buscando corretamente, alguém poderia me ajudar?

 

por ex: busco pelo código: 123, ele traz tudo e não somente o registro do código 123.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado Eriva..

 

Me ajudou muito, e sinceramente não sabia dessa história de "HERESIA" com OR..

 

^^

 

Abraços.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.