timestamp est un type de données qui présente des nombres binaires automatiquement générés, et dont l'unicité est garantie dans une base de données.
datetime et smalldatetime Types de données de date et d'heure permettant de représenter la date et l'heure de la journée.
-- Patrice
"rabaaoui abdelhak" a écrit dans le message de news:
Bonjour, j'aimerais savoir la difference entre TIMESTAMP et DATETIME. Merci pour votre aide.
Med Bouchenafa
TIMESTAMP ne représente pas du tout une date malgré son nom. C'est un choix de nom malheureux qui date de l'époque SYBASE. Ce choix de nom est malheureux parcequ'aujourd'hui il rentre en conflit avec le type de données timestamp défini dans la norme SQL-92. Dans cette norme timestamp est bien un datetime au sens T-SQL. Aujourd'hui, Microsoft encourage à utiliser le type de données rowversion qui est synonyme de timestamp.
Dans SQL Server, le but principal d'une colonne de type timestamp au plutôt rowversion est de gérer le verouillage optimistique Lorsqu'une table dispose d'une colonne rowversion, SQL Server la renseigne automatiquement d'une valeur unique au niveau de la base de données à chaque fois que l'enregistrement est modifié.
Exemple J'enregistre dans une table un enregistrement. SQL Server va affecter la valeur 100 à la colonne rowversion Supposons que j'affiche l'enregistrement. Je le visualise et j'apporte des modifications. Comment être certain que quelqu'un d'autre n'a pas modifié l'enregistrement entre-temps si je n'utilise pas de verrous. Je relis la valeur de la colonne et si elle est toujours à 100, je suis certain que personne ne l'a modifiée Si la valeur a changé, je suis certain que quelqu'un d'autre l'a modifiée et là je peux par exemple afficher dans l'application un message disant que "l'enregistrement a été modifié par quelqu'un d'autre. Voulez-vous...."
-- Avec mes meilleurs voeux 2006 Med Bouchenafa
"rabaaoui abdelhak" a écrit dans le message de news:
Bonjour, j'aimerais savoir la difference entre TIMESTAMP et DATETIME. Merci pour votre aide.
TIMESTAMP ne représente pas du tout une date malgré son nom.
C'est un choix de nom malheureux qui date de l'époque SYBASE.
Ce choix de nom est malheureux parcequ'aujourd'hui il rentre en conflit avec
le type de données timestamp défini dans la norme SQL-92.
Dans cette norme timestamp est bien un datetime au sens T-SQL.
Aujourd'hui, Microsoft encourage à utiliser le type de données rowversion
qui est synonyme de timestamp.
Dans SQL Server, le but principal d'une colonne de type timestamp au plutôt
rowversion est de gérer le verouillage optimistique
Lorsqu'une table dispose d'une colonne rowversion, SQL Server la renseigne
automatiquement d'une valeur unique au niveau de la base de données à chaque
fois que l'enregistrement est modifié.
Exemple
J'enregistre dans une table un enregistrement. SQL Server va affecter la
valeur 100 à la colonne rowversion
Supposons que j'affiche l'enregistrement. Je le visualise et j'apporte des
modifications.
Comment être certain que quelqu'un d'autre n'a pas modifié l'enregistrement
entre-temps si je n'utilise pas de verrous.
Je relis la valeur de la colonne et si elle est toujours à 100, je suis
certain que personne ne l'a modifiée
Si la valeur a changé, je suis certain que quelqu'un d'autre l'a modifiée et
là je peux par exemple afficher dans l'application un message disant que
"l'enregistrement a été modifié par quelqu'un d'autre. Voulez-vous...."
--
Avec mes meilleurs voeux 2006
Med Bouchenafa
"rabaaoui abdelhak" <test@test.fr> a écrit dans le message de news:
OsHCrqhEGHA.1180@TK2MSFTNGP09.phx.gbl...
Bonjour,
j'aimerais savoir la difference entre TIMESTAMP et DATETIME.
Merci pour votre aide.
TIMESTAMP ne représente pas du tout une date malgré son nom. C'est un choix de nom malheureux qui date de l'époque SYBASE. Ce choix de nom est malheureux parcequ'aujourd'hui il rentre en conflit avec le type de données timestamp défini dans la norme SQL-92. Dans cette norme timestamp est bien un datetime au sens T-SQL. Aujourd'hui, Microsoft encourage à utiliser le type de données rowversion qui est synonyme de timestamp.
Dans SQL Server, le but principal d'une colonne de type timestamp au plutôt rowversion est de gérer le verouillage optimistique Lorsqu'une table dispose d'une colonne rowversion, SQL Server la renseigne automatiquement d'une valeur unique au niveau de la base de données à chaque fois que l'enregistrement est modifié.
Exemple J'enregistre dans une table un enregistrement. SQL Server va affecter la valeur 100 à la colonne rowversion Supposons que j'affiche l'enregistrement. Je le visualise et j'apporte des modifications. Comment être certain que quelqu'un d'autre n'a pas modifié l'enregistrement entre-temps si je n'utilise pas de verrous. Je relis la valeur de la colonne et si elle est toujours à 100, je suis certain que personne ne l'a modifiée Si la valeur a changé, je suis certain que quelqu'un d'autre l'a modifiée et là je peux par exemple afficher dans l'application un message disant que "l'enregistrement a été modifié par quelqu'un d'autre. Voulez-vous...."
-- Avec mes meilleurs voeux 2006 Med Bouchenafa
"rabaaoui abdelhak" a écrit dans le message de news:
Bonjour, j'aimerais savoir la difference entre TIMESTAMP et DATETIME. Merci pour votre aide.
Fred BROUARD
je confirme ce que dit med en ajoutant que TIMESATMP est considéré comme obsolète dans la version 2005. Il est plus que probable qu'il ne figurera pas dans la prochaine version de SQL Server.
Donc, ne pas utiliser.
A +
Med Bouchenafa a écrit:
TIMESTAMP ne représente pas du tout une date malgré son nom. C'est un choix de nom malheureux qui date de l'époque SYBASE. Ce choix de nom est malheureux parcequ'aujourd'hui il rentre en conflit avec le type de données timestamp défini dans la norme SQL-92. Dans cette norme timestamp est bien un datetime au sens T-SQL. Aujourd'hui, Microsoft encourage à utiliser le type de données rowversion qui est synonyme de timestamp.
Dans SQL Server, le but principal d'une colonne de type timestamp au plutôt rowversion est de gérer le verouillage optimistique Lorsqu'une table dispose d'une colonne rowversion, SQL Server la renseigne automatiquement d'une valeur unique au niveau de la base de données à chaque fois que l'enregistrement est modifié.
Exemple J'enregistre dans une table un enregistrement. SQL Server va affecter la valeur 100 à la colonne rowversion Supposons que j'affiche l'enregistrement. Je le visualise et j'apporte des modifications. Comment être certain que quelqu'un d'autre n'a pas modifié l'enregistrement entre-temps si je n'utilise pas de verrous. Je relis la valeur de la colonne et si elle est toujours à 100, je suis certain que personne ne l'a modifiée Si la valeur a changé, je suis certain que quelqu'un d'autre l'a modifiée et là je peux par exemple afficher dans l'application un message disant que "l'enregistrement a été modifié par quelqu'un d'autre. Voulez-vous...."
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
je confirme ce que dit med en ajoutant que TIMESATMP est considéré comme
obsolète dans la version 2005. Il est plus que probable qu'il ne figurera pas
dans la prochaine version de SQL Server.
Donc, ne pas utiliser.
A +
Med Bouchenafa a écrit:
TIMESTAMP ne représente pas du tout une date malgré son nom.
C'est un choix de nom malheureux qui date de l'époque SYBASE.
Ce choix de nom est malheureux parcequ'aujourd'hui il rentre en conflit avec
le type de données timestamp défini dans la norme SQL-92.
Dans cette norme timestamp est bien un datetime au sens T-SQL.
Aujourd'hui, Microsoft encourage à utiliser le type de données rowversion
qui est synonyme de timestamp.
Dans SQL Server, le but principal d'une colonne de type timestamp au plutôt
rowversion est de gérer le verouillage optimistique
Lorsqu'une table dispose d'une colonne rowversion, SQL Server la renseigne
automatiquement d'une valeur unique au niveau de la base de données à chaque
fois que l'enregistrement est modifié.
Exemple
J'enregistre dans une table un enregistrement. SQL Server va affecter la
valeur 100 à la colonne rowversion
Supposons que j'affiche l'enregistrement. Je le visualise et j'apporte des
modifications.
Comment être certain que quelqu'un d'autre n'a pas modifié l'enregistrement
entre-temps si je n'utilise pas de verrous.
Je relis la valeur de la colonne et si elle est toujours à 100, je suis
certain que personne ne l'a modifiée
Si la valeur a changé, je suis certain que quelqu'un d'autre l'a modifiée et
là je peux par exemple afficher dans l'application un message disant que
"l'enregistrement a été modifié par quelqu'un d'autre. Voulez-vous...."
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
je confirme ce que dit med en ajoutant que TIMESATMP est considéré comme obsolète dans la version 2005. Il est plus que probable qu'il ne figurera pas dans la prochaine version de SQL Server.
Donc, ne pas utiliser.
A +
Med Bouchenafa a écrit:
TIMESTAMP ne représente pas du tout une date malgré son nom. C'est un choix de nom malheureux qui date de l'époque SYBASE. Ce choix de nom est malheureux parcequ'aujourd'hui il rentre en conflit avec le type de données timestamp défini dans la norme SQL-92. Dans cette norme timestamp est bien un datetime au sens T-SQL. Aujourd'hui, Microsoft encourage à utiliser le type de données rowversion qui est synonyme de timestamp.
Dans SQL Server, le but principal d'une colonne de type timestamp au plutôt rowversion est de gérer le verouillage optimistique Lorsqu'une table dispose d'une colonne rowversion, SQL Server la renseigne automatiquement d'une valeur unique au niveau de la base de données à chaque fois que l'enregistrement est modifié.
Exemple J'enregistre dans une table un enregistrement. SQL Server va affecter la valeur 100 à la colonne rowversion Supposons que j'affiche l'enregistrement. Je le visualise et j'apporte des modifications. Comment être certain que quelqu'un d'autre n'a pas modifié l'enregistrement entre-temps si je n'utilise pas de verrous. Je relis la valeur de la colonne et si elle est toujours à 100, je suis certain que personne ne l'a modifiée Si la valeur a changé, je suis certain que quelqu'un d'autre l'a modifiée et là je peux par exemple afficher dans l'application un message disant que "l'enregistrement a été modifié par quelqu'un d'autre. Voulez-vous...."
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************