Usuário com melhor resposta
TIMESTAMP

Pergunta
-
Colagas
Alterei um atributo de DateTime para TimeStamp, pretendo verificar concorrencia a partir deste atributo, até ai Blz...
Só que o Atributo inicia com 1900-01-01 21:40:07.903, seria possível fazer com que ele inicie com a data atual ??
Obrigado
Bene
Respostas
-
Marcelo,
Concordo com vc. Por isso que na minha sugestão o tipo de dado da coluna e datetime.
Code Snippet'exemplo 1: adicionando um campo novo na tabela
ALTER
TABLE [owner].[nome_da_tabela] add datStamp datetime NOT NULL CONSTRAINT ck_datStamp DEFAULT (getdate()) -
Todas as Respostas
-
-
Nenê,
Minha sugestão seria alterar o campo na tabela incluindo uma "constraint do tipo default value"
Um exemplo de como resolver: Exemplo em SQL-Server 2005
'exemplo 1: adicionando um campo novo na tabela
ALTER
TABLE [owner].[nome_da_tabela] add datStamp datetime NOT NULL CONSTRAINT ck_datStamp DEFAULT (getdate())'exemplo 2: adicionando apenas a constraint (quando o campo já existe na tabela)
ALTER
TABLE [owner].[nome_da_tabela] add constraint ck_datStamp DEFAULT(getdate()) FOR [datStamp]onde [datStamp] é o nome do campo e ck_datStamp o nome da constraint a ser criada.
Ajude a melhorar o nosso Fórum!
Não esqueça de marca a mensagem como "útil", caso tenha ajudado. -
Bom Dia Benê,
Se a idéia do Timestamp é meramente concorrência, não deveria ser um preocupação verificar a data inicial. A idéia é saber que a data sempre será atualizada quando um INSERT ou um UPDATE ocorrer facilitando o controle de concorrência através desse campo.
A sugestão de mudá-lo para datetime permitiria que você definisse a data inicial, mas iria retirar todas as vantagens do controle de concorrência. Por essa razão recomendo que você continue com o timestamp e não se preocupe com essa data.
Se é importante mostrar a data atual para fins de controle, adicione um outro campo.
[ ]s,
Gustavo
-
-
Marcelo,
Concordo com vc. Por isso que na minha sugestão o tipo de dado da coluna e datetime.
Code Snippet'exemplo 1: adicionando um campo novo na tabela
ALTER
TABLE [owner].[nome_da_tabela] add datStamp datetime NOT NULL CONSTRAINT ck_datStamp DEFAULT (getdate()) -
Colegas
A ídeia é usar o atributo DataComputador que é do tipo TimeStamp ( sabendo que ele é do tipo binário ), com dupla funcionalidade, ou seja ele irá se alterar automaticamente quando qualquer alteração ou inserção ocorrer e ainda posso converte-lo para DataTime, para saber quando isto ocorreu.
Meu senário envolve o uso do SQL Express que tem limitação de tamanho, então quanto menos atributos melhor, os clientes da empresa que trabalho são de pequeno / medio porte, apenas alguns deles irão comprar o SQL Server de fato, tenho que sempre encontrar uma solução que envolva a maioria dos clientes.
Marcelo Colla
Respeito muito seu conhecimento, mas com meu cenário o que o Laercio está proponto seria mais interessante.
Laercio da Silva Freitas
Veja, o que você está propondo ( DEFAULT VALUE ) vai funcionar em update também?
Agradeço a todos.
Obrigado
Bene
-
-
Marcelo
Um atributo tipo TimeStamp, ( BINARIO ), quando convertido para DateTime, realmente não existe alguma forma de vir a data Atual?
Ou seja, quando se altera um atributo para TimeStamp o binário é definido de tal forma que quando convertido para DateTime é sempre 1900-01-01 ???
Obrigado
Bene
-