¿Una instrucción de inserción en una tabla que tiene un desencadenante "INSTEAD OF" provocará un ciclo infinito de ejecuciones "en su lugar, insertar"?EN LUGAR DE TRIGGER, ¿Brincaría infinitamente?
Por ejemplo esto:
CREATE TRIGGER setDescToUpper ON part_numbers
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO part_numbers (
colA,
colB,
part_description
) SELECT
colA,
colB,
UPPER(part_description)
) FROM
INSERTED
END
GO
¿La instrucción de inserción dentro de la "en lugar de" gatillo causar un bucle?
No quiero deshabilitar desencadenantes recursivos.
¿Debo desactivar temporalmente el disparador?
Fuente: SQL Server - after insert trigger - update another column in the same table
+1 A la derecha, es un gatillo INSTEAD OF. [MSDN dice] (http://msdn.microsoft.com/en-us/library/ms189799.aspx): "Si un desencadenador INSTEAD OF definido en una tabla ejecuta una instrucción contra la tabla que normalmente activaría el disparador INSTEAD OF de nuevo, el desencadenador no se llama recursivamente. En su lugar, la declaración se procesa como si la tabla no tuviera un gatillo INSTEAD OF e inicia la cadena de operaciones de restricción y DESPUÉS de las ejecuciones de los disparos ". – Andomar
¿Podría explicar qué pasaría entonces en este escenario con una instrucción INSERT? ¿Se ejecutará INSERTAR dentro del desencadenador? –
Gracias chicos. Célebre. – zunetastic