Para obtener más información acerca de ALTER TRIGGER, vea la sección Notas de CREATE TRIGGER (Transact-SQL).
Desencadenadores DML
ALTER TRIGGER admite vistas que se pueden actualizar manualmente a través del uso de desencadenadores INSTEAD OF en las tablas y vistas. SQL Server aplica ALTER TRIGGER de la misma manera para todos los tipos de desencadenadores (AFTER, INSTEAD-OF).
El primer y último desencadenador AFTER que se ejecuta en una tabla se puede especificar mediante sp_settriggerorder. Sólo se pueden especificar un primer desencadenador y un último desencadenador AFTER en una tabla. Si hay otros desencadenadores AFTER en la misma tabla, se ejecutan aleatoriamente.
Si una instrucción ALTER TRIGGER modifica el primer o último desencadenador, se quita el primer o último atributo establecido en el desencadenador modificado, y el valor del orden se debe restablecer con sp_settriggerorder.
Un desencadenador AFTER se ejecuta sólo después de que se haya ejecutado correctamente la instrucción SQL desencadenadora. En esta ejecución correcta se incluyen todas las acciones referenciales en cascada y comprobaciones de restricciones asociadas al objeto actualizado o eliminado. La operación del desencadenador AFTER comprueba los efectos de la instrucción desencadenadora, así como todas las acciones UPDATE y DELETE referenciales en cascada provocadas por la instrucción desencadenadora.
Cuando una acción DELETE en una tabla de referencia o secundaria es el resultado de una acción CASCADE de una instrucción DELETE de la tabla principal y el desencadenador INSTEAD OF de DELETE está definido en esta tabla secundaria, el desencadenador se pasa por alto y se ejecuta la acción DELETE.
Desencadenadores DDL
A diferencia de los desencadenadores DML, los desencadenadores DDL no están limitados al ámbito de esquema. Por tanto, no se pueden utilizar OBJECT_ID, OBJECT_NAME, OBJECTPROPERTY ni OBJECTPROPERTY(EX) al consultar metadatos acerca de desencadenadores DDL. Utilice en su lugar las vistas de catálogo. Para obtener más información, vea Obtener información acerca de los desencadenadores DDL.