Olá pessoal, sou novo com o SQL Server e estou tentando aprender a usar procedure concatenada, porém, não consigo executar essa procedure da maneira que eu quero. Mesmo usando EXEC SP_NOME_PROCEDURE NULL,NULL,NULL,NULL ou colocando algum valor em cada parte.
ALTER PROCEDURE SP_LISTA_PEDIDOS
@Sdatainicio varchar(100),
@Sdatafim varchar(100),
@chaveBusca varchar(100),
@TipoBusca varchar(100)
AS
DECLARE @SQL VARCHAR(8000)
SET @SQL += 'SELECT *,b.descricao as dscstatus,c.nome as cliente '
SET @SQL += ' FROM pedidos a with(nolock), '
SET @SQL += ' pedidos_status b with(nolock), '
SET @SQL += ' cadastro c with(nolock) '
SET @SQL += ' WHERE '
SET @SQL += ' a.status <> '''' and '
SET @SQL += ' a.status=b.status and '
SET @SQL += ' a.id_doc = c.id_doc '
IF isnull(@chaveBusca,'')<>''
BEGIN
IF isnull(@TipoBusca,'') = 'PEDIDO'
SET @SQL += ' and a.numped= '''+@chaveBusca+''''
IF isnull(@TipoBusca,'') = 'CLIENTE'
SET @SQL += ' and c.nome like '''+@chaveBusca+'%'''
END
IF not (isnull(@chavebusca,'')<>'' and isnull(@TipoBusca,'') = 'PEDIDO')
SET @SQL += ' and data_inclusao BETWEEN '''+@Sdatainicio+''' AND '''+@Sdatafim+''''
SELECT @SQL
Essa é a procedure. O que tem de errado nela? Ou o que está faltando?