Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal !!!
Estou com um devido problema, não consigo achar o que tem de errrado nessa query que eu tentei recriar de um artigo q eu encontrei na net.
Criei uma tabela virtual para fazer o que o artigo mandava !!! Mas não consegui que desse o resultado. Sem mais delongas, segue abaixo a query que eu criei pelo artigo.
--ESTA FUNÇÃO RECEBE COMO PARAMETRO O NOME DA ECOMENDA
--RETORNA A LISTA DE ESTADOS PARA QUAL A ECOMENDA FOI ENVIADA
CREATE FUNCTION F_AGRUPA(@DESC VARCHAR(50))
RETURNS VARCHAR(100)
BEGIN
DECLARE @RETORNO VARCHAR(100)
SELECT @RETORNO = COALESCE(@RETORNO+ ',', SPACE(0)) + UF_ECOMENDA
FROM @TESTE
WHERE DESC_ECOMENDA = @DESC
RETURN @RETORNO
END
set nocount on
declare @TESTE table (COD_ENCOMENDA varchar(5), DESC_ECOMENDA varchar(10), UF_ECOMENDA varchar(2))
insert into @teste (COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA) values ('ENV01', 'Produto x', 'MG')
insert into @teste (COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA) values ('ENV02', 'Produto Y', 'SP')
insert into @teste (COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA) values ('ENV03', 'Produto x', 'SP')
insert into @teste (COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA) values ('ENV04', 'Produto Z', 'MG')
insert into @teste (COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA) values ('ENV05', 'Produto Y', 'RJ')
insert into @teste (COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA) values ('ENV06', 'Produto Z', 'BA')
--SELECT COD_ENCOMENDA, DESC_ECOMENDA, UF_ECOMENDA FROM @TESTE
SELECT DESC_ECOMENDA,
MAX (dbo.F_AGRUPA(DESC_ECOMENDA)) AS UF_ENVIADASServer: Msg 137, Level 15, State 2, Procedure F_AGRUPA, Line 10
Must declare the variable '@TESTE'.
Server: Msg 156, Level 15, State 1, Procedure F_AGRUPA, Line 15
Incorrect syntax near the keyword 'set'.Esse é o erro q esta dando quando eu executo a query.
Segue tb o artigo que eu me basiei para montar essa query.
Carregando comentários...