Quiero crear un activador Insertar que actualice valores en todas las filas insertadas si son nulas, los nuevos valores deben tomarse de una tabla diferente, de acuerdo con otra columna en el inserto mesa.Activador Insertar SQL para actualizar valores de tabla INSERTED
me trataron:
UPDATE INSERTED
SET TheColumnToBeUpdated =
(
SELECT TheValueCol FROM AnotherTable.ValueCol
WHERE AnotherTable.ValudCol1 = INSERTED.ValueCol1
)
WHERE ValueCol IS NULL
pero me sale este error:
Msg 286, Level 16, State 1, Procedure ThisTable_INSERT, Line 15
The logical tables INSERTED and DELETED cannot be updated.
¿Cómo debo hacer eso?
Si no se va a encapsular la lógica de manejar esto en un procedimiento almacenado, una alternativa mejor que un disparador sería para usar una restricción predeterminada: http://msdn.microsoft.com/en-us/library/aa175912%28SQL.80%29.aspx –
DESEO PODRÍA USAR VALORES POR DEFECTO PERO, COMO PUEDE VER, QUIERO ACTUALIZAR MI TABLA SEGÚN DIFERENTES COLUMNAS EN LA FILA INSERTADA, QUE NO ES APLICABLE CON 'DEFAULT'S – Shimmy
@OMG Ponies: Shimmy no puede usar un valor predeterminado según la pregunta: http://stackoverflow.com/questions/1744455 – gbn