Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
Objetivos
Comprender cuándo especificar un valor DEFAULT
Crear y ejecutar una sentencia MERGE
Crear y ejecutar sentencias DML utilizando SUBCONSULTAS
Crear y ejecutar inserciones en varias tablas
Inténtelo/Resuélvalo
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
opcionA
CREATE TABLE copy_f_promotional_menus AS ( SELECT * FROM f_promotional_menus);
DESCRIBE f_promotional_menus;
DESCRIBE copy_f_promotional_menus;
SELECT * FROM f_promotional_menus;
SELECT * FROM copy_f_promotional_menus;
SELECT TO_CHAR(TRUNC(start_date), 'dd-mm-yyyy-hh24:mi:ss'),TO_CHAR(start_date, 'dd-
mm-yyyy-hh24:mi:ss') FROM copy_f_promotional_menus;
SELECT TO_CHAR(TRUNC(sysdate), 'dd-mm-yyyy-hh24:mi:ss') FROM dual;
Opción B
ALTER TABLE copy_f_promotional_menus MODIFY(start_date DATE DEFAULT
TRUNC(SYSDATE));
Opción C
UPDATE copy_f_promotional_menus SET start_date = TRUNC(SYSDATE) WHERE
TRUNC(start_date) = TO_DATE('10-Feb-2004','dd-Mon-yyyy');
NSERT INTO copy_f_promotional_menus(code,name,end_date,give_away)
VALUES('116','Back to School part 3',NULL,'ballpen and highlighter again2');
INSERT INTO copy_f_promotional_menus(code,name,start_date,end_date,give_away)
VALUES('120','New Customer',DEFAULT,TO_DATE('01-Jun-2005','dd-Mon-yyyy'),' 10%
discount coupon');
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
2
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
3
d. Utilice una sentencia de fusión para agregar a la tabla manager_copy_d_cds los CD
desde la tabla original. Si hay alguna coincidencia, actualice el título y el año.
De lo contrario, inserte los datos desde la tabla original. ¿Cuál es la sintaxis
correcta utilizada?
Para verificar la fusión
UPDATE manager_copy_d_cds SET title = 'hkumar' WHERE cd_number = 90;
4. Ejecute las 3 sentencias siguientes para crear 3 tablas nuevas y utilizarlas en una
sentencia de inserción en varias tablas. Las 3 tablas deben estar vacías cuando se crean,
lo que explica la condición WHERE 1=2 de la cláusula WHERE.
Una vez que tenga las tablas en su cuenta, escriba una sentencia de inserción en varias
tablas para seleccionar en primer lugar employee_id, hire_date, salary y manager_id de
todos los empleados. Si el salario es superior a 20000, inserte employee_id y salary en la
tabla special_sal. Inserte los detalles de employee_id, hire_date y salary en la tabla
sal_history. Inserte employee_id, manager_id y salary en la tabla mgr_history.
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.
4
Debe aparecer un mensaje que indica que se han insertado 39 filas. Verifique que recibe
este mensaje y que tiene el siguiente número de filas en cada tabla:
Sal_history: 19 filas
Mgr_history: 19 filas
Special_sal: 1
INSERT FIRST
WHEN salary > 20000 THEN
INTO special_sal
VALUES(employee_id, salary)
ELSE
INTO sal_history
VALUES(employee_id, hire_date, salary)
INTO mgr_history
VALUES(employee_id, manager_id, salary)
SELECT employee_id, salary, hire_date, manager_id
FROM employees;
39 row(s) inserted.
SELECT COUNT(*) FROM special_sal; 1
SELECT COUNT(*) FROM sal_history; 19
SELECT COUNT(*) FROM mgr_history; 19
Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser
marcas comerciales de sus respectivos propietarios.