J'ai créé une table avec les colonnes suivantes: ObservationDidatedDate, description, ... ... et LastUnDatedDate dans SQL Server 2008 R2. L'observationID strong> est une identité avec incrémentation de 1.
Je dois créer deux déclencheurs, une pour insertion et l'autre pour la mise à jour. Sur le nouvel enregistrement inséré, le déclencheur d'insertion mettra à jour la colonne FirstCreateDatedDate en obtenant le DateTime actuel; Lors de l'enregistrement existant mis à jour, le déclencheur de mise à jour mettra à jour LastUpDatedDate Colunm en obtenant la dateTime actuelle. P>
J'ai échoué à ce que je suppose que l'identification pourrait être le problème. P>
Quelqu'un pourrait-il me donner une main? Merci! P>
acclamations,
Alex p>
3 Réponses :
Je pense que vous êtes surtout correct mais n'accédez pas correctement aux tables insérées ou supprimées. ps. J'espère que cela fonctionne comme je l'ai écrit dans le bloc-notes et je ne l'ai pas testé. P> p>
Le code ci-dessous concerne une fois la mise à jour après modifier la dernière colonne de date modifiée.
Veuillez conseiller si vous voyez un problème avec cela. Merci! P>
ALTER TRIGGER [dbo].[T_UpdateObservation] ON [dbo].[GCUR_OBSERVATION] AFTER UPDATE AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- get the last id value of the record inserted or updated DECLARE @id INT SELECT @id = [ObservationId] FROM DELETED -- Insert statements for trigger here UPDATE GCUR_OBSERVATION SET GCUR_OBSERVATION.LastUpdatedDate = getdate() WHERE [ObservationId] = @id END
Create TRIGGER [dbo].[TrigerName] ON [dbo].[TableCreateTriger] FOR INSERT AS INSERT INTO TableInsertDate SELECT * FROM TableCreateTriger
Avez-vous obtenu une erreur d'erreur ici ici s'il vous plaît!
C'est bizarre que le code que j'ai posté ici a fonctionné ici lorsque j'ai utilisé Insérer SQL dans la fenêtre de requête pour ajouter un enregistrement sans succès correctement lorsque j'essaye manuellement d'ajouter un nouvel enregistrement en mode Edition Table. Le problème est que le champ Identifier ID a obtenu un point d'interrogation rouge à côté; Cependant, lorsque j'ai fait une sélection de toutes les questions, l'enregistrement a été ajouté .... PS. J'utilise SQL Server Management Studio.