Comenzaría por no usar el SQL dinámico en lo posible. Tan es decir en vez del paso en la tabla y la columna tener un procedimiento almacenado para cada tabla. Que su declaración de la ACTUALIZACIÓN puede ser reducido a:
PONER AL DÍA YourTableName
FIJAR a YourDateTimeColumn = A CONVERTIDO (fecha y hora, MATERIA (MATERIA (MATERIA (MATERIA (YourDateCharColumn, 5, 0, “-”), 8, 0, “-”), 14, 0, “: "), 17, 0, “: "), 120)
DONDE YourTableID = @FirstID