Es un trigger. Con la consulta, debería venir un solo valor, no un array, ya que está en un loop que revisa registro por registro de las tablas #ins (temporal de inserted) y #del (de deleted).
Necesito recuperar ambos valores (eliminado e insertado), para armar una cadena de texto en un campo independiente en una tabla de logs.
Según tus instrucciones, el código quedó de la siguiente manera:
Código:
SET @querycafe1 = 'SELECT ' + @fieldname + ' INTO #temp1 FROM #del d'
SET @querycafe2 = 'SELECT ' + @fieldname + ' INTO #temp2 FROM #ins i'
Exec(@querycafe1)
Exec(@querycafe2)
SET @valorViejo = (SELECT * FROM #temp1)
SET @valorNuevo = (SELECT * FROM #temp2)
Sin embargo, las líneas en rojo devuelven un error de "nombre no válido".
Nos estamos acercando! Es nada más resolver el tema en rojo :)
EDIT: La consulta:
SELECT convert(varchar(1000),@fieldname) INTO #temp1 FROM #del d
Devuelve error de sintaxis.