INSERT CAMPO DATETIME

LCSD 23/02/2010 15:48:43
#335154
Pessoal, boa tarde a todo mundo...

Tem horas que o TICO e TECO dá um branco do caramba na cabeça, e coisas simples que fazemos diáriamente acaba se tornando complicado pra se fazer....
Eu estou precisando inserir na minha base SQLSERVER 2005 um registro no campo de formato DATETIME a DATA e a HORA que o registro foi inserido/alterado.

Como que eu coloco mesmo, na minha rotina de INSERT/UPDATE para ele inserir neste campo da tabela o valor DATA e HORA???



Valeu galerinha......
MADMAX 23/02/2010 17:08:20
#335161
LCSD não e mais facil criar direto uma trigger no banco .. mais ou menos assim como abaixo no sql server a tabela INSERTED TEM os registros atualizados no caso de um insert ou update , existe tambem a deleted que no caso de delete guarda o registro apagado e no caso de update guarda os dados antes da alteração.. depois disso vc tem como pegar o campo chave e realizar um update com a data atual ....espero que ajude.


if object_id([ô]dbo.TRG_TESTE) is not null begin
drop trigger dbo.TRG_TESTE
end
go
CREATE TRIGGER dbo.TRG_TESTE
ON TBTESTE
FOR INSERT,UPDATE
NOT FOR REPLICATION
AS
DECLARE CurReTESTE Cursor for
select
*
from
INSERTED



go



Eu prefiro trigger pois isto evita do cara tentar mudar a data da maquina para driblar um log ou algo parecido , na trigger so alterando a hora do servidor ja que a hora vira de-la.
LCSD 23/02/2010 17:44:38
#335164
Caro MADMAX

A idéia da TRIGGER até é válida, mas pra minha aplicação no momento não é viável...... Por vários e N motivos.
O que eu preciso só é lembrar neste campo DATETIME como gravar a DATa e a HORa juntos.
FFCOUTO 23/02/2010 17:51:52
#335165
Resposta escolhida
INSERT tabela (campodata) VALUES (CONVERT(DATETIME, [ô][Ô] & Format(Now, [Ô]dd/mm/yyyy hh:nn:ss[Ô]) & [Ô][ô], 103))

UPDATE tabela SET campodata = CONVERT(DATETIME, [ô][Ô] & Format(Now, [Ô]dd/mm/yyyy hh:nn:ss[Ô]) & [Ô][ô], 103) WHERE (Condicao)


LCSD 23/02/2010 18:22:18
#335167
Obrigado FFCOUNTO....

era isso mesmo que eu estava precisando.
Tópico encerrado , respostas não são mais permitidas