Usuário com melhor resposta
Como melhorar esse update?

Pergunta
-
Olá pessoal,
Há um tempo atrás, peguei uma estrutura de insert aqui no fórum e, desde então utilizei essa estrutura para vários inserts que continham valores padrões e deixei pronto numa trigger, pois eram tabelas que jamais alterariam sua forma de alimentação. Agora estou usando o UPDATE abaixo em uma tabela, mas em determinado momento é como se ela estivesse repetindo o que havia feito no registro anterior. Como posso corrigir isso?
CREATE TRIGGER [dbo].[TGR_ETAPAS_UPDATE] on [dbo].[SETAPAS] after UPDATE as BEGIN -- encerra o processamento se não há linha para tratar IF not exists (SELECT * from INSERTED) return; -- UPDATE P SET DTINICIO = CASE WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 2) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 3) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 4) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 5) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 6) WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 8) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 9) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 10) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 11) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 12) ELSE I.DTINICIO END, DTFIM = CASE WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 2) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 3) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 4) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 5) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 6) WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 8) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 9) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 10) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 11) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTFIM IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 12) ELSE I.DTFIM END, DTINICIODIGITACAO = CASE WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 2) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 3) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 4) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 5) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 6) WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 8) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 9) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 10) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 11) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTINICIODIGITACAO IS NULL THEN dbo.fnPrimeiroDiaUtil(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 12) ELSE I.DTINICIODIGITACAO END, DTLIMITEDIGITACAO = CASE WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 2) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 3) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 4) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 5) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 6) WHEN I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 8) WHEN I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 9) WHEN I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 10) WHEN I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 11) WHEN I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 AND I.DTLIMITEDIGITACAO IS NULL THEN dbo.fnUltimoDiaUtilSabados(CAST(SUBSTRING(K.CODPERLET, 1, 4) AS INTEGER), 12) ELSE I.DTLIMITEDIGITACAO END, FREQMIN = CASE WHEN I.TIPOETAPA = 'F' THEN 75 ELSE NULL END, DESCRICAO = CASE WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 THEN 'FEVEREIRO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 THEN 'MARÇO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 THEN 'ABRIL' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 THEN 'MAIO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 1 THEN 'JUNHO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 1 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 THEN 'AGOSTO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 2 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 THEN 'SETEMBRO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 3 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 THEN 'OUTUBRO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 4 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 THEN 'NOVEMBRO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 5 AND SUBSTRING(K.CODPERLET, LEN(K.CODPERLET), 1) = 2 THEN 'DEZEMBRO' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 6 THEN 'TOTAL DE FALTAS' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 1 THEN 'AV1' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 2 THEN 'AV2' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 3 THEN 'AV3' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 4 THEN 'NAF' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 5 THEN 'MÉDIA' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 6 THEN 'MÉDIA FINAL' ELSE '' END, DIGAULASDADAS = CASE WHEN I.TIPOETAPA = 'F' AND I.CODETAPA < 6 THEN 'S' WHEN I.TIPOETAPA = 'F' AND I.CODETAPA = 6 THEN 'N' ELSE NULL END, EXIBENAWEB = 'S', PERMITEDIGITACAO = 'S', ETAPAFINAL = CASE WHEN I.TIPOETAPA = 'N' AND I.CODETAPA < 6 THEN 'N' WHEN I.TIPOETAPA = 'N' AND I.CODETAPA = 6 THEN 'S' ELSE NULL END, CODFORMULANOTA = CASE WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 1 AND I.CODFORMULANOTA IS NULL THEN 'FRM001' WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 2 AND I.CODFORMULANOTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 3 AND I.CODFORMULANOTA IS NULL THEN 'FRM001' WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 4 AND I.CODFORMULANOTA IS NULL THEN NULL WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 5 AND I.CODFORMULANOTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 6 AND I.CODFORMULANOTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 7 AND I.CODFORMULANOTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'N' AND L.CODTIPOCURSO = 8 AND I.CODFORMULANOTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'F' THEN NULL ELSE I.CODFORMULANOTA END, CODFORMULAFALTA = CASE WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 1 AND I.CODFORMULAFALTA IS NULL THEN 'FRM001' WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 2 AND I.CODFORMULAFALTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 3 AND I.CODFORMULAFALTA IS NULL THEN 'FRM001' WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 4 AND I.CODFORMULAFALTA IS NULL THEN NULL WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 5 AND I.CODFORMULAFALTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 6 AND I.CODFORMULAFALTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 7 AND I.CODFORMULAFALTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'F' AND L.CODTIPOCURSO = 8 AND I.CODFORMULAFALTA IS NULL THEN 'FRM002' WHEN I.TIPOETAPA = 'N' THEN NULL ELSE I.CODFORMULAFALTA END, CONCEITOGRAFICO = NULL, EXIBENOGRAFICO = NULL, MEDIA = CASE WHEN L.CODTIPOCURSO = 1 AND I.TIPOETAPA = 'N' THEN 7 WHEN L.CODTIPOCURSO = 2 AND I.TIPOETAPA = 'N' THEN 6 WHEN L.CODTIPOCURSO = 3 AND I.TIPOETAPA = 'N' THEN 7 WHEN L.CODTIPOCURSO = 5 AND I.TIPOETAPA = 'N' THEN 6 WHEN L.CODTIPOCURSO = 6 AND I.TIPOETAPA = 'N' THEN 6 WHEN L.CODTIPOCURSO = 7 AND I.TIPOETAPA = 'N' THEN 6 WHEN L.CODTIPOCURSO = 8 AND I.TIPOETAPA = 'N' THEN 6 ELSE NULL END, PONTDIST = CASE WHEN I.TIPOETAPA = 'N' THEN 10 ELSE NULL END FROM SETAPAS P INNER JOIN INSERTED AS I ON I.IDTURMADISC = P.IDTURMADISC AND I.CODETAPA = P.CODETAPA AND I.CODCOLIGADA = P.CODCOLIGADA INNER JOIN STURMADISC AS J ON J.IDTURMADISC = I.IDTURMADISC AND J.CODCOLIGADA = I.CODCOLIGADA INNER JOIN SPLETIVO AS K ON K.IDPERLET = J.IDPERLET INNER JOIN SHABILITACAOFILIAL AS L ON L.IDHABILITACAOFILIAL = J.IDHABILITACAOFILIAL AND L.CODCOLIGADA = J.CODCOLIGADA END;
Grato,
Ilano.
Respostas
-
IlanoCF,
Inicialmente você precisa definir com quais dados deseja trabalhar, ou seja, os valores que devem ser consultados para servir como base de análise, com isso, você terá a possibilidade de definir o que deverá ser identificado como resultado.
Independente de armazenar em uma tabela temporária, CTE ou até mesmo tabela física, estabelecer suas regras para apresentar os dados não necessariamente precise ser feita na mesma query, muito menos em um trigger, alias analisem bem este tipo de implementação pois você poderá gerar um impacto violento no que diz respeito a processamento em seu ambiente fazendo uso de trigger aninhados ou recursivos.
O que você poderia fazer é pegar este código colocar dentro de uma stored procedure, definindo exatamente o que deve ser processamento e condicionado e através do seu trigger fazer a chamada para execução da mesma.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de março de 2018 21:01
Todas as Respostas
-
-
Opinião minha, entender isso vai te demandar muito tempo, jogue isso fora , escreva o que vc tem de entrada , e o que vc quer na saida, e post aqui ,para juntos conseguirmos te dar uma solução melhor,
por que te falo isso ?
vc tem uma query extremamente ,super ,mega hard query não entendível , que estará dentro de uma trigger em produção , ou seja , um prato repleto para o caos.
dicas
escreva o que vc precisa, escreva o que vc já tem e a sua saída que vc quer.
Wesley Neves - Brasilia-DFhttps://wesleyneves.wordpress.com/
SELECT Tab.[that's me:]
FROM
(
VALUES
('Wesley Neves'),
('Analista.NET'),
('Pós Graduando em Banco de Dados com ênfase em BI'),
('MTA -SQL Server'),
('MTA -Web Developed')
) AS Tab ("that's me:");
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
-
IlanoCF,
Inicialmente você precisa definir com quais dados deseja trabalhar, ou seja, os valores que devem ser consultados para servir como base de análise, com isso, você terá a possibilidade de definir o que deverá ser identificado como resultado.
Independente de armazenar em uma tabela temporária, CTE ou até mesmo tabela física, estabelecer suas regras para apresentar os dados não necessariamente precise ser feita na mesma query, muito menos em um trigger, alias analisem bem este tipo de implementação pois você poderá gerar um impacto violento no que diz respeito a processamento em seu ambiente fazendo uso de trigger aninhados ou recursivos.
O que você poderia fazer é pegar este código colocar dentro de uma stored procedure, definindo exatamente o que deve ser processamento e condicionado e através do seu trigger fazer a chamada para execução da mesma.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Marcado como Resposta Filipe B CastroModerator quarta-feira, 28 de março de 2018 21:01