Ir para conteúdo

POWERED BY:

Arquivado

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

overload

Trigger - Erro 141 - Como resolver

Recommended Posts

CREATE TRIGGER [TG_ALT_TB_VISITA_ITENS_DIVISAO_PROD]  ON dbo.TB_VISITA_ITENS_DIVISAO_PROD FOR UPDATEAS	DECLARE	@CLCODIGO		int			,@cicod_i 		varchar(15)			,@is_local_importado	char(1)			,@dt_inform_vv		datetime			,@qtd 			numeric(18, 6) 			,@cd_unid 		int			,@cd_moed_Fob 	int			,@Fob 			numeric(18, 6)			,@Frete 		numeric(18, 6)			,@CFR 			numeric(18, 6)			,@preco_vv 		numeric(18, 6) 			,@ICMS_Perc_vv 	char(3)			,@cd_moed_vv 		int			,@taxa_finac_vv 	numeric(18, 6)			,@pgcod_vv 		int			,@tipo_frete 		char(1)			,@dt_ultima_visita 	datetime			,@dt_validade_OFT 	datetime			,@is_Ativo 		int			,@TEXTO_NOV		VARCHAR(1000)			,@TEXTO_ANT		VARCHAR(1000)	SELECT 	@CLCODIGO 		= CLCODIGO 			,@cicod_i 		= cicod_i 			,@is_local_importado 	= is_local_importado			,@dt_inform_vv 		= dt_inform_vv 			,@qtd 			= qtd 			,@cd_unid 		= cd_unid 			,@cd_moed_Fob 	= cd_moed_Fob 			,@Fob 			= Fob 			,@Frete 		= Frete 			,@CFR 			= CFR 			,@preco_vv 		= preco_vv 			,@ICMS_Perc_vv 	= ICMS_Perc_vv 			,@cd_moed_vv 		= cd_moed_vv 			,@taxa_finac_vv 	= taxa_finac_vv 			,@pgcod_vv 		= pgcod_vv 			,@tipo_frete 		= tipo_frete 			,@dt_ultima_visita 	= dt_ultima_visita 			,@dt_validade_OFT 	= dt_validade_OFT 			,@is_Ativo 		= is_Ativo 	FROM DELETED		--DADOS ANTIGOS	--------------------------------	SELECT @TEXTO_ANT = 				CONVERT(VARCHAR(15), 			ISNULL(@CLCODIGO, '')) + ' | ' 			+ ISNULL(@cicod_i, '') + ' | ' 			+ ISNULL(@is_local_importado, '') + ' | ' 			+ ISNULL(@dt_inform_vv, '') + ' | ' 			+ ISNULL(@qtd, '') + ' | ' 			+ ISNULL(@cd_unid, '')+ ' | ' 			+ ISNULL(@cd_moed_Fob, '') + ' | ' 			+ ISNULL(@Fob, '') + ' | ' 			+ ISNULL(@Frete, '') + ' | ' 			+ ISNULL(@CFR, '') + ' | ' 			+ ISNULL(@preco_vv, '')+ ' | ' 			+ ISNULL(@ICMS_Perc_vv, '') + ' | ' 			+ ISNULL(@cd_moed_vv, '') + ' | ' 			+ ISNULL(@taxa_finac_vv, '') + ' | ' 			+ ISNULL(@pgcod_vv, ''), 103) + ' | ' 			+ ISNULL(@tipo_frete, '') + ' | ' 			+ ISNULL(@dt_ultima_visita, '') + ' | ' 			+ ISNULL(@dt_validade_OFT, '') + ' | ' 			+ ISNULL(@is_Ativo, '')	--DADOS NOVOS	-----------------------------	SELECT 	@CLCODIGO 		= CLCODIGO 			,@cicod_i 		= cicod_i 			,@is_local_importado 	= is_local_importado			,@dt_inform_vv 		= dt_inform_vv 			,@qtd 			= qtd 			,@cd_unid 		= cd_unid 			,@cd_moed_Fob 	= cd_moed_Fob 			,@Fob 			= Fob 			,@Frete 		= Frete 			,@CFR 			= CFR 			,@preco_vv 		= preco_vv 			,@ICMS_Perc_vv 	= ICMS_Perc_vv 			,@cd_moed_vv 		= cd_moed_vv 			,@taxa_finac_vv 	= taxa_finac_vv 			,@pgcod_vv 		= pgcod_vv 			,@tipo_frete 		= tipo_frete 			,@dt_ultima_visita 	= dt_ultima_visita 			,@dt_validade_OFT 	= dt_validade_OFT 			,@is_Ativo 		= is_Ativo 	FROM INSERTED	SELECT @TEXTO_NOV = 				CONVERT(VARCHAR(15), 			ISNULL(@CLCODIGO, '')) + ' | ' 			+ ISNULL(@cicod_i, '') + ' | ' 			+ ISNULL(@is_local_importado, '') + ' | ' 			+ ISNULL(@dt_inform_vv, '') + ' | ' 			+ ISNULL(@qtd, '') + ' | ' 			+ ISNULL(@cd_unid, '')+ ' | ' 			+ ISNULL(@cd_moed_Fob, '') + ' | ' 			+ ISNULL(@Fob, '') + ' | ' 			+ ISNULL(@Frete, '') + ' | ' 			+ ISNULL(@CFR, '') + ' | ' 			+ ISNULL(@preco_vv, '')+ ' | ' 			+ ISNULL(@ICMS_Perc_vv, '') + ' | ' 			+ ISNULL(@cd_moed_vv, '') + ' | ' 			+ ISNULL(@taxa_finac_vv, '') + ' | ' 			+ ISNULL(@pgcod_vv, ''), 103) + ' | ' 			+ ISNULL(@tipo_frete, '') + ' | ' 			+ ISNULL(@dt_ultima_visita, '') + ' | ' 			+ ISNULL(@dt_validade_OFT, '') + ' | ' 			+ ISNULL(@is_Ativo, '')

Isso está me retornando o erro 141:

"A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations."

 

Esse erro geralmente ocorre quando um dos campos do select nao está sendo inserido nas variaveis, mas isso nao ocorre no codigo.

 

É uma trigger de ALTERAÇÃO.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acontece este erro tambem quando os tipos de campos sao incompativeis.

 

Tente rodar cada select separadamente e ver o resultado ;)

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.