web-dev-qa-db-fra.com

Date/Horodatage pour enregistrer quand un enregistrement a été ajouté à la table?

Est-ce que quelqu'un connaît une fonction en tant que telle que je peux utiliser pour ajouter une date et un horodatage automatiques dans une colonne lorsque l'utilisateur ajoute un enregistrement à la table de base de données?

24
Betty

Vous pouvez créer une colonne DATETIME non nullable sur votre table et créer une contrainte DEFAULT dessus à remplir automatiquement lors de l'ajout d'une ligne.

par exemple.

CREATE TABLE Example
(
SomeField INTEGER,
DateCreated DATETIME NOT NULL DEFAULT(GETDATE())
)
42
AdaTheDev

Vous pouvez créer une contrainte par défaut sur cette colonne qui mettra une valeur par défaut pour getdate ().

Exemple:

alter table dbo.TABLE 
add constraint df_TABLE_DATE default getdate() for DATE_COLUMN
4
Roni Vered

Vous pouvez utiliser un champ datetime et définir sa valeur par défaut sur GetDate().

CREATE TABLE [dbo].[Test](
    [TimeStamp] [datetime] NOT NULL CONSTRAINT [DF_Test_TimeStamp] DEFAULT (GetDate()),
    [Foo] [varchar](50) NOT NULL
) ON [PRIMARY]
4
Rango

Vous pouvez transmettre la fonction GetDate() en tant que paramètre à votre requête d'insertion E.g

Insert into table (col1,CreatedOn) values (value1,Getdate())
3
Ankit

vous pouvez utiliser DateAdd sur un déclencheur ou une colonne calculée si l'horodatage que vous ajoutez est fixe ou dépendant d'une autre colonne

0
Diego