2010-11-10 5 views
2
create trigger personInsertTrigger on dbo.Person for INSERT 
as 
declare tmpPersonID INT 
set tmpPersonID = (select ID from INSERTED) 

insert into dbo.PersonRecords values (tmpPersonID, now()) 

Je reçois l'erreur suivante:Problème avec ce script simple déclencheur

Msg 155, Level 15, State 2, Procedure personInsertTrigger, Line 3 'INT' is not a recognized CURSOR option. Msg 195, Level 15, State 10, Procedure personInsertTrigger, Line 6 'now' is not a recognized built-in function name.

Quelqu'un peut-il me aider à terminer ce petit script? Je veux qu'il enregistre l'ID de la personne et l'heure à laquelle elle a été insérée dans une deuxième table appelée PersonRecords.

Merci.

Répondre

1

utilisation @ pour les variables -

declare @tmpPersonID INT 

Les variables locales doivent commencer par @. Les curseurs n'utilisent pas la notation @, donc interprètent votre déclaration comme un curseur et non comme une variable.

aussi au lieu de now() Je pense que vous devez utiliser getdate()