Altova DatabaseSpy 2024 Professional Edition

Para actualizar datos en la pestaña Resultados primero debe seleccionar datos para editarlos. Esto hace que la pestaña Resultados pase al modo Edición (lo cual se indica en la barra de estado).

 

Para editar los registros haga doble clic en la celda que desea editar y realice los cambios necesarios. También tiene a su disposición un menú contextual con comandos para copiar, cortar, pegar, eliminar o seleccionar todo el contenido o para deshacer la acción de edición. También puede pegar datos desde otra cuadrícula de resultados o desde una hoja de cálculo (véase Agregar y copiar filas).

dbs_result_grid

Cuadrícula de resultados

Los datos actualizados no se confirman inmediatamente en la base de datos pero aparecen reflejados en la cuadrícula de resultados. Para confirmar los datos en la base de datos debe hacer clic en el botón Confirmar de la barra de herramientas.

 

Las celdas que están editadas se señalan con un color de fondo distinto. El color indica si los datos introducidos pueden dar lugar a problemas. Por ejemplo, si el texto introducido no es adecuado para el tipo de datos de la columna, la celda será de color rojo.

 

Si en la cuadrícula de resultados hay columnas XML, también aparece el botón ic_change-xml en cada fila de la columna XML. Al hacer clic en este botón aparecen comandos para cargar el archivo XML en la celda XML o para guardar el contenido XML en archivos XML. Además puede asignar un esquema XML a la celda XML, siempre y cuando la conexión de origen de datos actual sea compatible con esta característica. En las bases de datos con columnas XML no compatibles con DatabaseSpy, aparece este otro icono ic_save-xml y el contenido XML de la celda correspondiente se guarda en un archivo.

 

En el modo Edición la barra de herramientas incluye algunos comandos más:

 

dbs_ic_append

Anexa una fila nueva. Este comando también está en el menú contextual que aparece cuando se hace clic con el botón derecho en una celda (véase Agregar y copiar filas).

dbs_ic_delete

Elimina una fila. Este comando también está en el menú contextual que aparece cuando se hace clic con el botón derecho en una celda.

dbs_ic_undo

Deshace todos los cambios realizados en la cuadrícula de resultados (siempre y cuando no se hayan confirmado ya en la base de datos). Para deshacer la edición de una celda concreta, haga clic con el botón derecho en la celda y seleccione Deshacer los cambios realizados en esta celda.

dbs_ic_set_default

Define el valor predeterminado de la base de datos para las celdas seleccionadas. Este comando también está en el menú contextual que aparece cuando se hace clic con el botón derecho en una celda. Recuerde que el comando (y su correspondiente botón) solamente está disponible si la columna de base de datos ofrece un valor predeterminado.

dbs_ic_set_null

Define un valor NULL para las celdas seleccionadas. Este comando también está en el menú contextual que aparece cuando se hace clic con el botón derecho en una celda. Recuerde que el comando (y su correspondiente botón) solamente está disponible si la columna de base de datos permite valores nulos.

 

Cuando termine de editar los datos, haga clic en el botón Confirmar para enviar los cambios a la base de datos. DatabaseSpy crea y ejecuta automáticamente las instrucciones SQL necesarias. Si se produce un error de ejecución, podrá encontrar más información al respecto en la ventana Mensajes.

tab_output-invalid-edit

 

En casos así la celda editada sigue resaltada en la ventana de resultados. Sin embargo, si intenta recuperar otra vez los datos, la actualización no válida se pierde al hacer clic en Aceptar en la advertencia que aparece.

 

Usar scripts SQL

Si prefiere actualizar los datos de la BD con ayuda de instrucciones SQL, puede generar la instrucción SQL necesaria con un solo clic (véase Generar instrucciones SQL). Puede actualizar tanto la fila entera como una columna solamente. La instrucción SQL correspondiente aparece en una ventana del Editor SQL y en ella puede introducir los nuevos valores.

 

sql_update-script_new

 

Por ejemplo, mire la tabla Department de la BD del tutorial.

 

tbl_department

 

Imagine que quiere reemplazar el departamento Art por Music y el ID 2 por 3. Para ello debería actualizar la instrucción SQL:

sql_update-script_new

 

Para actualizar una tabla con ayuda de instrucciones SQL:

 

1.Conéctese a la BD y abra el origen de datos en la ventana Explorador.

2.Si quiere, haga clic con el botón derecho en la tabla que desea actualizar y elija Recuperar datos | Todas las filas para ver los datos que hay en la tabla.

3.Ahora tiene dos opciones:

Seleccionar la tabla que desea actualizar.

O expandir la tabla correspondiente para ver sus columnas y seleccionar las que desea actualizar.

4.Haga clic con el botón derecho y seleccione Mostrar en Editor SQL | UPDATE del menú contextual o arrastre los objetos seleccionados hasta la ventana del Editor SQL mientras pulsa el botón derecho del ratón y elija Update en el menú contextual. En el Editor se genera una instrucción UPDATE para para todos los objetos seleccionados.

 

Nota:las columnas de incremento automático y computadas no aparecen en la instrucción UPDATE que se genera. Consulte también "La instrucción UPDATE" más abajo.
 

5.Edite la parte SET de la instrucción UPDATE que se genera con los valores que quiera que se inserten.

6.Edite la cláusula WHERE para seleccionar las filas que quiere actualizar.
 

Nota:si elimina la cláusula WHERE todas las filas de la tabla se actualizan con los mismos valores.

 

7.Haga clic en el botón Ejecutar ic_execute-sql para ejecutar la instrucción y actualizar los datos en la BD.
 

 

La instrucción UPDATE

Por defecto, la instrucción UPDATE se genera de forma intencional para evitar que se actualicen varias filas de forma accidental. Por tanto, es probable que tenga que editarla.

 

La cláusula WHERE de la instrucción UPDATE se genera de forma que incluya la clave principal de la tabla, si esta tiene una. Por ejemplo, la instrucción siguiente se genera para una tabla SQLite que tiene una clave principal en la columna id.

 

UPDATE "products" SET "id"=0, "name"='', "quantity"=0, "description"=NULL WHERE "id"=0;

 

Si la tabla no tiene ninguna clave principal, la cláusula WHERE incluirá la lista unificada de todas las columnas de todas las claves únicas. Si la tabla no tiene ni claves principales ni únicas, la cláusula WHERE incluirá todas las columnas excepto las columnas computadas.

 

Los valores generados que aparecen en la cláusula WHERE dependen del valor predeterminado de la columna, si admite valores nulos y del tipo de datos de la columna. Por ejemplo, este es un ejemplo de una instrucción UPDATE generada desde una tabla SQL Server en la que (i) no hay claves principales ni únicas, (ii) la primera columna es de tipo integer, (iii) la segunda columna es de tipo nvarchar y (iv) id es una columna de incremento automático:

 

UPDATE [dbo].[Events]
SET    [event]=N''
WHERE  [id] = 0
      AND [event] = N'';

© 2017-2023 Altova GmbH