PAC8 UF3 BBDD B DAM
|
|
Título del Test:
![]() PAC8 UF3 BBDD B DAM Descripción: EJERCICIOS PAC8 |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Los triggers pueden contener llamadas a funciones o procedimientos almacenados. Verdadero. Falso. ¿Qué tipo de trigger se ejecuta antes de que se realice la operación de la base de datos?. DURING. AFTER. INSTEAD OF. BEFORE. En un sistema de gestión de ventas, tienes las tablas ventas y vendedores. Implementaste un trigger que automáticamente calcula y actualiza el total de ventas de un vendedor en la tabla vendedores cada vez que se registra una nueva venta en la tabla ventas. Para hacer esto, el trigger se activa después de cada inserción en la tabla ventas y suma todos los montos de las ventas del vendedor correspondiente en la tabla ventas, actualizando el total en la tabla vendedores. Dado este escenario y el trigger, CREATE OR REPLACE TRIGGER trg_recalcular_ventas AFTER INSERT ON ventas FOR EACH ROW DECLARE v_total DECIMAL(10, 2); BEGIN SELECT SUM(monto) INTO v_total FROM ventas WHERE vendedor_id = :NEW.vendedor_id; UPDATE vendedores SET total_ventas = v_total WHERE vendedor_id = :NEW.vendedor_id; END; / ¿es cierto que este enfoque es el más eficiente para mantener actualizado el total de ventas de cada vendedor?. v. f. Estás desarrollando un sistema de gestión de inventario y decides usar un trigger para mantener un registro de las veces que un producto se intenta actualizar en la base de datos y poder rastrear los intentos de actualizaciones de productos. ¿Cuál de las siguientes opciones sería la mejor manera de implementar este trigger?. Crear un trigger BEFORE UPDATE que almacene una copia del producto en una tabla de historial antes de que se realice cualquier cambio. Crear un trigger AFTER INSERT que incremente un contador cada vez que se añade un nuevo producto. trigger BEFORE DELETE que almacene una copia del producto en una tabla de historial antes de eliminarlo. Crear un trigger AFTER UPDATE que incremente un contador cada vez que un producto es actualizado. Completa el siguiente código con las palabras adecuadas: Tenemos la tabla "products" y queremos un trigger que actualice la fecha de última modificación de cada registro que se ha modificado en la tabla "products". CREATE TABLE products ( product_id NUMBER PRIMARY KEY, product_name VARCHAR2(50), price NUMBER, last_modified DATE ); CREATE OR REPLACE ((1)) update_last_modified ((2)) UPDATE ((3)) products FOR ((4)) ROW BEGIN ((5)).last_modified := SYSDATE; END; /. 1. 2. 3. 4. 5. Completa el siguiente código con las palabras adecuadas: Crea un trigger que se ejecute antes de intentar eliminar un productos, si el producto tiene un precio mayor a 1000, no permita la eliminación y muestre un mensaje de error. Si el producto tiene un precio de 1000 o menos, entonces se guardará el backup antes de eliminarlo en "products_backup" que tiene los mismos campos que la tabla "products" CREATE TABLE products_backup( product_id NUMBER PRIMARY KEY, product_name VARCHAR2(50), price NUMBER, last_modified DATE ); CREATE OR REPLACE TRIGGER backup_deleted_product BEFORE ((1)) ON products FOR EACH ((2)) BEGIN -- Si el producto tiene un precio mayor a 1000, no permitimos la eliminación IF ((3)).price ((4)) 1000 THEN RAISE_APPLICATION_ERROR(-20001, 'No se permite eliminar productos con un precio mayor a 1000.'); ((5)) -- Si el producto tiene un precio de 1000 o menos, guardamos el backup -- Insertamos el registro en la tabla de respaldo ((6)) INTO products_backup ((7)) (:OLD.product_id, :OLD.product_name, :OLD.price, :OLD.last_modified); END IF; END; /. 1. 2. 3. 4. 5. 6. 7. |




