Consulta Update desde una consulta Select

Logo SQL Server

A veces nos interesa actualizar un campo o varios de una tabla, pero en lugar de hacerlo a mano buscamos una opción mucho más rápida y sin posible error. Para ello hacemos un Update con los valores de una consulta Select.

En este ejemplo es de SQL Server, pero para los demás gestores de bases de datos la consulta es muy parecida:

Acualizamos el nombre del producto de la tabla productos, con la descripción del artículo.

Update Productos SET Producto.Nombre = (SELECT Articulos.Descripcion FROM Articulos WHERE Articulos.Id = Productos.ArticuloId)

Como copiar una DateTable en C# (también DataRow)

c-sharp imagen

Si estás programando en .NET con lenguaje C# y necesitas copiar el contenido de una tabla (DataTable) a otra hay una forma muy sencilla de hacerlo.

Tenemos 2 DataTables:

DataTable tabla1 = new DataTable();
DataTable tabla2 = new DataTable();

Si hacemos tabla2 = tabla1 NO ES VÁLIDO, porque lo que hagamos en una tabla se reflejaría en la otra.

Podemos utilizar para copiarla lo siguiente:

//Clonamos la estructura
tabla2 = tabla1.Clone();
//Recorremos las filas de la tabla1 y las importamos en la tabla2
Foreach(DataRow dr in tabla1.Rows)
{
tabla2.ImportRow(dr);
}

Con esto tendríamos 2 tablas iguales pero sin estar vinculadas referencialmente. Problema resuelto