Cómo evitar errores en SQL Server al concatenar campos con valores numéricos

cadena rota (concatenar en SQL)El operador para concatenar en SQL Server es '+', pero que este operador sirva también para sumar puede generar errores.

La solución es bastante simple, si lo que se quiere es concatenar, hay que convertir a cadena cualquier campo de tipo numérico que intervenga en la concatenación:
SELECT strNombre + ' tiene ' + cast(intEdad as varchar) + ' años'  FROM TablaEmpleados

ORA-01555 Snapshot too old

ORA-01555 Snapshot too old

La base de datos de una compañia normalmente tiene que aguantar algunas transacciones largas y pesadas. Si la base de datos es Oracle, está recien instalada y poco manipulada esas transacciones y sus primeras ejecuciones tienen pocas probabilidades de éxito. Es entonces cuando acaba apareciendo el fatídico ORA-01555, alias "... snapshot to old".

La gestión de consultas largas en Oracle viene limitada por el tamaño del tablespace de deshacer (undotbs). A mayor tamaño sera posible gestionar las transacciones más largas y pesadas. En Oracle 10g recien instalado el tamaño de este tablespace se reducido y uno no se suele dar cuenta hasta que falla la cosa.

Si la versión es la 10 se puede modificar directamente desde Oracle Enterprise Manager (consola web) en el apartado de administración, "Gestión de Deshacer". Allí tenemos el tiempo de retención, el tamaño del tablespace y podemos usar también el asesor para ver el tiempo de retención posible en base al tamaño en mb del tablespace.

Algo así: