Documentos de Académico
Documentos de Profesional
Documentos de Cultura
academy.oracle.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
m
er as
co
1. ¿Cuándo se requiere un valor DEFAULT?
eH w
Cuando no se da ningún valor durante la creación de la fila y quiero que el campo
o.
tome algún valor predefinido.
rs e
ou urc
2. Actualmente, la columna START_DATE de la tabla F_PROMOTIONAL_MENUS de
Global Fast Foods no tiene SYSDATE definido como DEFAULT. Su jefe ha decidido que
o
le gustaría poder definir la fecha de inicio de las promociones en el día actual para
algunas entradas. Para ello, es necesario realizar tres pasos:
aC s
vi y re
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.
This study source was downloaded by 100000809939014 from CourseHero.com on 04-28-2021 18:38:30 GMT -05:00
https://www.coursehero.com/file/63862695/DP-12-3-Practice-esppdf/
La opción A
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
m
er as
TRUNC(SYSDATE));
co
eH w
o.
Opción C
rs e
UPDATE copy_f_promotional_menus SET start_date = TRUNC(SYSDATE) WHERE
ou urc
TRUNC(start_date) = TO_DATE('10-Feb-2004','dd-Mon-yyyy');
Para las nuevas filas
o
discount coupon');
is
Th
sh
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.
This study source was downloaded by 100000809939014 from CourseHero.com on 04-28-2021 18:38:30 GMT -05:00
https://www.coursehero.com/file/63862695/DP-12-3-Practice-esppdf/
3. Allison Plumb, la jefa de planificación de eventos de DJs on Demand, le acaba de
proporcionar la siguiente lista de CD que adquirió en una compañía que cerraba. Desea
una nueva lista actualizada de los CD en inventario en una hora, pero no desea que se
modifique la tabla D_CDS original. Prepare una lista de inventario actualizada solo para
ella.
m
DESCRIBE d_cds;
er as
DESCRIBE manager_copy_d_cds;
co
SELECT * FROM d_cds;
eH w
SELECT * FROM manager_copy_d_cds;
o.
rs e
c. Inserte en la tabla manager_copy_d_cds cada nuevo título de CD mediante una
ou urc
sentencia INSERT. Ponga un ejemplo o utilice estos datos: 20, 'Hello World Here I
Am', 'Middle Earth Records', '1998' ¿Cuál es la sintaxis correcta utilizada?
INSERT INTO manager_copy_d_cds(cd_number,title,producer,year)
o
utilizada?
Para verificar la fusión
UPDATE manager_copy_d_cds SET title = 'hkumar' WHERE cd_number = 90;
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.
This study source was downloaded by 100000809939014 from CourseHero.com on 04-28-2021 18:38:30 GMT -05:00
https://www.coursehero.com/file/63862695/DP-12-3-Practice-esppdf/
Eliminar registro en manager_copy
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.
m
er as
CREATE TABLE sal_history (employee_id, hire_date, salary)
co
AS SELECT employee_id, hire_date, salary
eH w
FROM employees
o.
WHERE 1=2;
rs e
ou urc
CREATE TABLE mgr_history (employee_id, manager_id, salary)
AS SELECT employee_id, manager_id, salary
FROM employees
o
WHERE 1=2;
aC s
vi y re
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
is
Debe aparecer un mensaje que indica que se han insertado 39 filas. Verifique que recibe
sh
Sal_history: 19 filas
Mgr_history: 19 filas
Special_sal: 1
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.
This study source was downloaded by 100000809939014 from CourseHero.com on 04-28-2021 18:38:30 GMT -05:00
https://www.coursehero.com/file/63862695/DP-12-3-Practice-esppdf/
Utilizando FIRST o ALL no hay diferencia ya que solo hay un WHEN, en el resto hay dos
INSERT.
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)
m
SELECT COUNT(*) FROM special_sal; 1
er as
SELECT COUNT(*) FROM sal_history; 19
co
eH w
SELECT COUNT(*) FROM mgr_history; 19
o.
rs e
ou urc
o
aC s
vi y re
ed d
ar stu
is
Th
sh
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.
This study source was downloaded by 100000809939014 from CourseHero.com on 04-28-2021 18:38:30 GMT -05:00
https://www.coursehero.com/file/63862695/DP-12-3-Practice-esppdf/
Powered by TCPDF (www.tcpdf.org)