Acción Ejecutar (BD)
La acción "Ejecutar BD" (consulte la captura de pantalla siguiente) es un mecanismo muy potente para modificar los datos de la BD. Puede insertar, borrar, actualizar y guardar datos usando las instrucciones SQL. Esto le permite utilizar el poder del lenguaje SQL cuando quiera que ocurra un evento durante el progreso de la solución.
En este apartado, le describimos como insertar, actualizar, borrar y guardar datos que usan "Ejecutar BD". El comando para modificar la BD se especifica en la instrucción SQL de la acción (consulte la captura de pantalla anterior). Para obtener una descripción más detallada de la configuración de la acción "Ejecutar BD", consulte la sección Diseño de la página > Acciones > Base de datos > Ejecutar BD. Observe que la instrucción SQL de "Ejecutar BD" proporciona flexibilidad adicional ya que permite el uso de parámetros. Los valores de estos parámetros se generan con las expresiones XPath. Consulte el apartado acción "Ejecutar BD" para obtener más información.
Si los datos de la BD se muestran en la misma página como la página en la que se define la acción, debería agregar una acción "Recargar" para actualizar la pantalla de la BD que se ha modificado (consulte la captura de pantalla siguiente). En la captura de pantalla anterior, la estructura jerárquica en "árbol" $DB1 es el nodo raíz de la tabla de la base de datos OfficeSales_DB. Después de que OfficeSales_DB se haya modificado con la instrucción INSERT, se recarga la estructura jerárquica en "árbol" $DB1 en la página "diseño", con lo que se refleja inmediatamente la modificación el la BD.
INSERTAR: Insertar filas con "Ejecutar BD y SQL"
La instrucción INSERT de SQL se puede usar para insertar filas en la tabla de una base de datos. La instrucción INSERT INTO se usa para insertar filas con valores específicos mientras que la instrucción INSERT SELECT se usa para insertar el resultado de una instrucción SELECT en una tabla. Puede usar también otras instrucciones SQL, como SELECT INTO para insertar filas dentro de una tabla.
Use INSERT INTO para insertar una única fila en la tabla. La sintaxis SQL es la siguiente:
INSERT INTO DestinationTable (ID, City) VALUES ('ID-Value', 'City-Value');
La instrucción anterior inserta una fila que contiene dos columnas (ID y Ciudad) en la tabla DestinationTable. Tenga en cuenta los siguientes puntos:
•Sólo aquellas columnas que se especifican en la instrucción SQL se insertan en la fila nueva (ID, Ciudad en el ejemplo anterior). •Especifique todas las columnas de la tabla en la instrucción SQL para insertar una fila completa (que contiene todas las columnas de la tabla). •Los nombres de la columna y los valores de la columna de la instrucción SQL deben corresponderse en la posición el uno con el otro. Este orden de la columna no precisa que se corresponda con el orden de la columna en la tabla de la BD. Esto significa que si la distribución de la tabla de la BD cambia, subsecuentemente, la instrucción SQL aún será correcta y no precisa ser actualizada para reflejar la distribución cambiada. •El valor de una columna debe existir para el nombre de cada columna. De lo contrario se genera un error y la fila no se inserta. •Si se omite una columna en la instrucción SQL, entonces se debe definir la columna en la BD para permitir que los valores NULL (estén vacíos) o tener un valor por defecto; de lo contrario se genera un error y la fila no se inserta. •Para insertar varias filas, especifique varias instrucciones INSERT INTO.
|
Use INSERT SELECT para insertar el resultado de una instrucción SELECT en una tabla. Habitualmente INSERT SELECT se usa para copiar un conjunto de filas desde una tabla a otra. La sintaxis SQL es:
INSERT SELECT Offices (ID, City, Country) SELECT ('ID', 'Stadt', 'Land') FROM Offices_DE ;
La instrucción anterior inserta todas las filas de la tabla Offices_DE en la tabla Offices. Tenga en cuenta los siguientes puntos:
•Sólo aquellas columnas que se especifican en la instrucción SQL se insertan en la fila nueva (ID, Ciudad, País en el ejemplo anterior). •Las columnas devueltas por la instrucción SELECT se insertarán en las columnas correspondientes de la tabla de destino. La correspondencia de las columnas viene determinada por la posición. En el ejemplo anterior, por ejemplo, la columna Ciudad en la posición 2 de la instrucción SELECT se corresponde con la columna Ciudad en la posición 2 de la definición de la tabla de destino. Los nombres de las columnas en las dos definiciones no han de coincidir: la posición fija la correspondencia. •La instrucción SELECT puede usar una claúsula WHERE para filtrar los datos que se insertan.
|
ACTUALIZAR: Actualizar filas con Ejecutar BD y SQL
La instrucción ACTUALIZACIÓN de SQL se puede usar para utilizar filas en la tabla de una base de datos. La instrucción ACTUALIZAR se compone de tres partes:
•El nombre de la tabla de BD que se va a actualizar.
•Los nombres de las columnas que se van a actualizar y sus valores.
•Una claúsula WHERE que filtra las filas que hay que actualizar.
A continuación se muestra un ejemplo de una instrucción ACTUALIZAR de SQL:
UPDATE [AltovaMobile_Offices]
SET [Office] = 'New York',
[Contact] = 'Altova Johnson'
WHERE [id] = 11;
Esta instrucción actualiza la fila con id=11 de, digamos Office='USA' a Office='New York' y Contact=NULL a Contact='Altova Johnson'. La captura de pantalla siguiente muestra esta instrucción muestra el ejemplo de la instrucción ACTUALIZAR en la configuración de la instrucción SQL de la acción "Ejecutar BD"
Tenga en cuenta los siguiente puntos:
•Las columnas que se van a actualizar las proporcionan sus combinaciones name=value, con cada combinación name=value se separa del resto con una coma. No existe coma después de la última combinación name=value.
•Todas las columnas que se van a actualizar se especifican dentro de la claúsula única SET
•Se puede borrar el valor de una columna al configurarla en NULL asumiendo que esa columna admite los valores NULL. Por ejemplo: SET [Contact] = NULL.
La acción "Recargar" recargar la BD modificada de forma inmediata después de que se haya llevado a cabo la modificación. Sin la acción "Recargar", no es posible mostrar la modificación en la página.
ELIMINAR: Eliminar filas con Ejecutar BD y SQL
La instrucción ELIMINAR de SQL se puede usar para eliminar:
•filas específicas de una tabla (especificando una claúsula WHERE para seleccionar las filas que se han de eliminar).
•todas las filas de una tabla (omitiendo la claúsula WHERE)
A continuación se muestra un ejemplo de la instrucción ELIMINAR de SQL:
DELETE FROM [AltovaMobile_Offices]
WHERE [id] = 11;
La instrucción ELIMINAR de SQL anterior elimina la fila con el id=11. Si se omite la claúsula WHERE, entonces se borrarán todas las filas de la tabla AltovaMobile_Offices.
Una instrucción ELIMINAR de SQL en una acción "Ejecutar BD"
La acción "Recargar" recarga la BD modifica la BD inmediatamente después de que la modificación se haya llevado a cabo.
Sin la acción "Recargar", no se mostrará la modificación en la página.