M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T9-HR
Inserte los datos en la tabla MY_EMPLOYEE .
1) Ejecute la sentencia aiguiente para crear la tabla MY_EMPLOYEE utilizada en esta práctica.
CREATE TABLE MY_EMPLOYEE ( ID NUMBER(6) PRIMARY KEY, LAST_NAME VARCHAR2(25), FIRST_NAME VARCHAR2(20), USERID VARCHAR2(10), SALARY NUMBER(8,2));
2) Describa la estructura de la tabla MY_EMPLOYEE para identificar los nombres de las columnas.
DESCRIBE my_employee
Els següents apartats fan referencia a les dades de la següent taula:
ID | LAST_NAME | FIRST_NAME | USERID | SALARY |
---|---|---|---|---|
1 | Patel | Ralph | rpatel | 895 |
2 | Dancs | Betty | bdancs | 860 |
3 | Biri | Ben | bbiri | 1100 |
4 | Newman | Chad | cnewman | 750 |
5 | Ropeburn | Audry | aropebur | 1550 |
3) Cree una sentencia INSERT para agregar la primera fila de datos a la tabla MY_EMPLOYEE a partir de los siguientes datos de ejemplo. No muestre la lista de columnas en la cláusula INSERT.
INSERT INTO my_employee VALUES (1, 'Patel', 'Ralph', 'rpatel', 895);
4) Rellene la tabla MY_EMPLOYEE con la segunda fila de datos de ejemplo de la lista anterior. En esta ocasión, muestre explícitamente la lista de columnas en la cláusula INSERT .
INSERT INTO my_employee (id, last_name, first_name, userid, salary) VALUES (2, 'Dancs', 'Betty', 'bdancs', 860);
5) Confirme las adiciones a la tabla.
COMMIT; SELECT * FROM my_employee;
6) Escriba una sentencia INSERT en un archivo de script reutilizable para cargar las filas restantes en la tabla MY_EMPLOYEE . El script se debe solicitar para todas las columnas ( ID , LAST_NAME , FIRST_NAME , USERID y SALARY ). Guarde este script en un archivo denominado lab_09_06.sql.
INSERT INTO my_employee VALUES (&p_id, '&p_last_name', '&p_first_name', '&p_userid', &p_salary);
7) Rellene la tabla con las dos siguientes filas de ejemplo mostradas en el paso 3 mediante la ejecución de la sentencia INSERT en el script que ha creado.
INSERT INTO my_employee VALUES (&p_id, '&p_last_name', '&p_first_name', '&p_userid', &p_salary);
8) Visualize todos los empleados y comprueba que se han introducido correctamente.
SELECT * FROM my_employee;
9) Confirme los cambios en la tabla.
COMMIT;
Actualice y suprima datos de la tabla MY_EMPLOYEE.
10) Cambie el apellido del empleado 3 a Drexler.
UPDATE my_employee SET last_name = 'Drexler' WHERE id = 3;
11) Cambie el salario a 1.000 dólares para todos los empleados con un salario inferior a 900.
UPDATE my_employee SET salary = 1000 WHERE salary < 900;
12) Visualiza todos los empleados y compruebe que los cambios se ha realizado correctamente.
SELECT * FROM my_employee;
13) Suprima Betty Dancs de la tabla MY_EMPLOYEE .
DELETE FROM my_employee WHERE FIRST_NAME = 'Betty' AND LAST_NAME = 'Dancs';
14) Visualize todos los empleados y compruebe que los cambios se ha realicado correctamente.
SELECT * FROM my_employee;
15) Confirme todos los cambios pendientes.
COMMIT;
Controle la transacción de datos a la tabla MY_EMPLOYEE .
16) Rellene la tabla con la última fila de datos de ejemplo mostrada en el paso 3 mediante las sentencias del script que ha creado en el paso 6. Ejecute las sentencias en el script.
INSERT INTO my_employee VALUES (&p_id, '&p_last_name', '&p_first_name', '&p_userid', &p_salary);
17) Compruebe que los datos se han introducido correctamente.
SELECT * FROM my_employee;
18) Marque un punto intermedio en el procesamiento de la transacción.
SAVEPOINT step_17;
19) Suprima todas las filas de la tabla MY_EMPLOYEE .
DELETE FROM my_employee;
20) Verifique que la tabla está vacía.
SELECT * FROM my_employee;
21) Deseche la operación DELETE más reciente sin desechar la operación INSERT anterior.
ROLLBACK TO step_17;
22) Compruebe que la nueva fila esté intacta.
SELECT * FROM my_employee;
23) Confirme los cambios.
COMMIT;
Si tiene tiempo, realice el siguiente ejercicio:
24) Modifique el script lab_09_06.sql de forma que USERID se genere automáticamente concatenando la primera letra del primer nombre y de los primeros siete caracteres del apellido. El USERID generado debe estar en minúscula. Por lo tanto, no se debe solicitar el script para el USERID . Guarde este script en un archivo denominado lab_09_24.sql .
SET ECHO OFF SET VERIFY OFF INSERT INTO my_employee VALUES (&p_id, '&&p_last_name', '&&p_first_name', lower(substr('&p_first_name', 1, 1) || substr('&p_last_name', 1, 7)), &p_salary); SET VERIFY ON SET ECHO ON UNDEFINE p_first_name UNDEFINE p_last_name
25) Ejecute el script lab_09_24.sql para insertar el siguiente registro:
ID | LAST_NAME | FIRST_NAME | USERID | SALARY |
---|---|---|---|---|
6 | Anthony | Mark | manthony | 1230 |
26) Compruebe que se ha agregado la nueva fila con el USERID correcto.
SELECT * FROM my_employee WHERE ID='6';