FM SOLUÇÕES - (31) 3761-3490
Seja bem vindo ao Fórum FM Soluções!!

Aqui você poderá postar suas dúvidas, experiências e ainda baixar e postar roteiros e tutoriais não oficiais sobre os módulos da RM Sistemas.

E ainda, conhecer um pouco sobre os nossos produtos e serviços!!!
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
» Relatorio Rm reports / Holerite salario
Ter 18 Out 2016 - 8:09 por Gárgio

» DEFAULT NO CADASTRO DE FUNCIONARIOS RM LABORE
Sex 7 Out 2016 - 21:51 por mpsbrasilia

» Duvida RM Labore - Calculo Folha de Pagamento
Seg 12 Set 2016 - 15:51 por RIVALDO PAES

» Exportar Imagem do banco de dados SQL SERVER
Qui 28 Jul 2016 - 11:42 por edivan

» Consulta SQL
Qui 10 Set 2015 - 11:32 por evertonerp

» Existe Algum Demo do RM Labore???
Sex 17 Abr 2015 - 11:53 por fmsolucoes

» RM BIBLIOS
Seg 16 Fev 2015 - 7:50 por fmsolucoes

» Identificação do Tipo de Renegociação de Aditivo (SGI)
Ter 26 Ago 2014 - 9:13 por VM Simoes

» Conexão com o banco de dados.
Seg 4 Ago 2014 - 20:44 por Juscelio

Galeria


Navegação
 Portal
 Índice
 Membros
 Perfil
 FAQ
 Buscar
Parceiros & Clientes FM Soluções

Trigger Update

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Trigger Update

Mensagem por Jmarcelloc em Qua 4 Ago 2010 - 8:47

Oi pessoal. Estou com problemas com uma trigger na TPRD.

Trigger

CREATE TRIGGER [dbo].[TIPOPRD_UPDATE]
ON [dbo].[TPRD]
AFTER UPDATE
AS

DECLARE @CODCOLIGADA INT
DECLARE @IDPRD INT

SET @CODCOLIGADA =(SELECT CODCOLIGADA FROM INSERTED)
SET @IDPRD = (SELECT IDPRD FROM INSERTED)

UPDATE TPRD SET
CODTB1FAT=
CASE
WHEN TIPO='P' AND TRIBUTACAOECF='T17' THEN 'P00'
WHEN TIPO='P' AND TRIBUTACAOECF='FF' THEN 'P10'
ELSE NULL
END

WHERE CODCOLIGADA=@CODCOLIGADA
AND IDPRD=@IDPRD

o Problema é o seguinte: Quando é realizado um update é apenas um registro funcionar. Mas quando é realizado um update em muitiplos registros é apresentado um erro:

Msg 512, Level 16, State 1, Procedure TIPOPRD_UPDATE, Line 9
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.

Sei que o problema é que a trigger só funciona se o resultado for apenas um registro. Mas como posso corrigir a trigger quando existi mas de um registro sendo alterado?

Desde já sou grato pela ajuda!

Jmarcelloc

Mensagens : 7
Pontos : 9
Data de inscrição : 30/04/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Trigger Update

Mensagem por Convidad em Ter 11 Jan 2011 - 10:29

Não sei se já conseguiu resolver seu problema.

Você poderia tentar subistituir o update por isso:

Código:


CREATE TRIGGER [dbo].[TIPOPRD_UPDATE]
ON [dbo].[TPRD]
AFTER UPDATE
AS

UPDATE P
  SET P.Codtb1fat = ( CASE
                        WHEN P.Tipo = 'P'
                              AND P.Tributacaoecf = 'T17' THEN 'P00'
                        WHEN P.Tipo = 'P'
                              AND P.Tributacaoecf = 'FF' THEN 'P10'
                        ELSE NULL
                      END )
  FROM Tprd P
   INNER JOIN Inserted I ON (I.Codcoligada = P.Codcoligada AND I.Idprd = P.Idprd)

isso deve funcionar para um ou mais registros. Teste antes de colocar em produção.

Abraço.

Convidad
Convidado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum