Ir para conteúdo
Fórum Script Brasil
  • 0

Trigger


Azelha

Pergunta

Pretendo que o campo a que chamo DatMes seja igual ao campo Data (A ideia é formatar a data para mês a fim de efectuar busca por meses).

Dei uma vista de olhos pelos exemplos e não estou a conseguir (Tvz nem seja com Trigger)

Create trigger tr_DatMes after insert on Servicos

for each row

set DataMes = Datas;

ando em torno disto mas não está a dar

Obrigado.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Para fazer a formatação é tranquilo é só usar o comando DATE_FORMART().

Para atualizar os valores de DatMes uma vez um UPDATE da conta do recado e depois o seu sistema de encarregado de preencher os registros novos.

Se você precisa fazer essa operação pelo Banco de Dados o negócio é a Triger mesmo.

Mas dando um passo atrás e vendo o problema de outro ângulo. O que você precisa é fazer um SELECT pelo mês?

Então não precisa nem criar o campo DatMes só faz assim.

SELECT * FROM `suatabela` WHERE DATE_FORMAT(Data, '%Y-%m') = '2017-09';

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 16/09/2017 at 09:50, Markus Magnus disse:

Então não precisa nem criar o campo DatMes só faz assim.


SELECT * FROM `suatabela` WHERE DATE_FORMAT(Data, '%Y-%m') = '2017-09';

 

Fazendo desta forma (usando função na representação de um campo e comparando-o com um literal) você corre um grande risco de que sua busca vire um TABLE SCAN, ou seja ela não usará índices e poderá demorar muito.

Eu substituiria a função pelo LIKE e, melhor ainda, pelo BETWEEN .

Exemplo: 

SELECT * FROM `suatabela` WHERE `data` LIKE "2017-09%";

ou 

SELECT * FROM `suatabela` WHERE `data` BETWEEN "2017-09-01" AND "2017-09-30";

Desta forma você aproveitará todo o potencial de seus índices.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...