Quiero actualizar un campo en la misma tabla desde la que se está eliminando el registro, pero no estoy muy seguro de cómo hacerlo. La mesa es bastante simple y tiene una autorreferencia en él:SQL Server 2008 - Cómo actualizar un campo con el activador DELETE
UserID FName EmailAddress EmailUserID
1 Frank [email protected] 2
2 Jane [email protected] NULL
3 John [email protected] 1
4 Brett [email protected] 2
Aquí es mi gatillo:
CREATE TRIGGER [dbo].[CAT_DeleteUser]
ON Users
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON;
UPDATE Users
SET EmailUserID = NULL
WHERE EmailUserID = ID_OF_DELETED_USER <-- don't know how to get this
END
Así que si elimino Jane (UserID = 2), me gustaría que el gatillo para actualizar cualquier registro con EmailUserID de 2. ¿Cómo puedo lograr esto?
Sabes que esto solo funcionará si * no * tienes una clave foránea autorreferencial, ¿verdad? Lo que significa que puede rellenar cualquier valor en EmailUserID y SQL Server no se va a quejar. –