S'il existe certaines colonnes qui ne doivent pas être soumises au suivi timestamp
, vous pouvez déplacer ces colonnes dans une nouvelle table qui renvoie ensuite à cette table d'origine. Si vous le souhaitez, vous pouvez masquer l'existence de cette nouvelle table et de la table originale modifiée à partir de l'application en produisant une vue appelée TSTest
qui joint les tables (avec des déclencheurs qui appliquent des insertions, des mises à jour et des suppressions aux tables de base).
Cependant, dans ce cas, il est clair pas ce que nous devrions faire car il n'y a qu'une seule évidente colonne « actualisable » - Name
- et donc si nous ne voulons pas l'objet d'un suivi timestamp
, on ne sait pas pourquoi nous avons sur ce table du tout.
Malheureusement, il n'existe aucun autre mécanisme T-SQL pour éviter le comportement de timestamp
- et cela est généralement considéré comme une bonne chose. Vous ne pouvez rien faire via des déclencheurs, car si vous touchez la table de base, le timestamp
sera modifié et vous ne pourrez pas utiliser les colonnes d'horodatage UPDATE
. Vous ne pourrez donc pas le réinitialiser après un changement.
Je pense qu'il serait possible, rien est impossible dans le logiciel
En laissant de côté l'existence des choses comme le problème de l'arrêt, vous êtes bien sûr exact que ce problème peut être résolu - mais pas d'une manière qui pourrait vous être utile. Comme je l'ai dit plus haut, ce n'est pas possible avec T-SQL.
Si vous vraiment besoin de faire cela, vous pouvez le faire en manipulant directement le fichier de base de données. Bien sûr, cela vous oblige à détacher la base de données ou à descendre le serveur, puis à parcourir les structures de fichiers pour localiser manuellement la ou les pages contenant les lignes que vous souhaitez modifier, puis à appliquer ces modifications, puis à corriger d'autres parties de la structure (telles que les sommes de contrôle de page) afin que SQL Server ne croit pas que les pages sont maintenant corrompues. Je ne préconise pas vraiment cette approche, en soulignant simplement à quel point loin de la normalité vous deviez accomplir réellement ce que vous demandez.
non, vous ne pouvez pas. –
Je pense que ce serait possible, Rien n'est impossible dans le logiciel! –
Merci pour modifier @Serg –