Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T9-HR»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
Inserte los datos en la tabla MY_EMPLOYEE .
 
Inserte los datos en la tabla MY_EMPLOYEE .
  
1) Ejecute la sentencia en el script lab_09_01.sql para crear la tabla MY_EMPLOYEE utilizada en esta práctica.
+
1) Ejecute la sentencia aiguiente para crear la tabla MY_EMPLOYEE utilizada en esta práctica.
 
+
<!--
 
a) En el menú File, seleccione Open. En el cuadro de diálogo Open, navegue a la carpeta /home/oracle/labs/sql1/labs y haga doble clic en lab_09_01.sql .
 
a) En el menú File, seleccione Open. En el cuadro de diálogo Open, navegue a la carpeta /home/oracle/labs/sql1/labs y haga doble clic en lab_09_01.sql .
  
 
b) Una vez abierta la sentencia en una hoja de trabajo de SQL, haga clic en el icono Run Script para ejecutar el script. Aparece un mensaje que indica que la creación de la tabla se ha realizado correctamente en la página con separadores Script Output.
 
b) Una vez abierta la sentencia en una hoja de trabajo de SQL, haga clic en el icono Run Script para ejecutar el script. Aparece un mensaje que indica que la creación de la tabla se ha realizado correctamente en la página con separadores Script Output.
 +
-->
 +
<pre>
 +
CREATE TABLE MY_EMPLOYEE (
 +
ID NUMBER(6) PRIMARY KEY,
 +
LAST_NAME VARCHAR2(25),
 +
FIRST_NAME VARCHAR2(20),
 +
USERID VARCHAR2(10),
 +
SALARY NUMBER(8,2));
 +
</pre>
  
 
2) Describa la estructura de la tabla MY_EMPLOYEE para identificar los nombres de las columnas.
 
2) Describa la estructura de la tabla MY_EMPLOYEE para identificar los nombres de las columnas.
Línia 45: Línia 54:
 
5) Confirme las adiciones a la tabla.
 
5) Confirme las adiciones a la tabla.
 
<pre>
 
<pre>
 +
COMMIT;
 +
 
SELECT *
 
SELECT *
 
FROM my_employee;
 
FROM my_employee;
Línia 60: Línia 71:
 
</pre>
 
</pre>
  
8) Confirme las adiciones a la tabla.
+
8) Visualize todos los empleados y comprueba que se han introducido correctamente.
 
<pre>
 
<pre>
 
SELECT *
 
SELECT *
Línia 66: Línia 77:
 
</pre>
 
</pre>
  
9) Convierta las adiciones de datos en permanentes.
+
9) Confirme los cambios en la tabla.
 
<pre>
 
<pre>
 
COMMIT;
 
COMMIT;
Línia 87: Línia 98:
 
</pre>
 
</pre>
  
12) Verifique los cambios en la tabla.
+
12) Visualiza todos los empleados y compruebe que los cambios se ha realizado correctamente.
 
<pre>
 
<pre>
 
SELECT *
 
SELECT *
Línia 97: Línia 108:
 
DELETE
 
DELETE
 
FROM my_employee
 
FROM my_employee
WHERE last_name = 'Dancs';
+
WHERE FIRST_NAME = 'Betty' AND LAST_NAME = 'Dancs';
 
</pre>
 
</pre>
  
14) Confirme los cambios en la tabla.
+
14) Visualize todos los empleados y compruebe que los cambios se ha realicado correctamente.
 
<pre>
 
<pre>
 
SELECT *
 
SELECT *
Línia 119: Línia 130:
 
</pre>
 
</pre>
  
17) Confirme la adición a la tabla.
+
17) Compruebe que los datos se han introducido correctamente.
 
<pre>
 
<pre>
 
SELECT *
 
SELECT *
Línia 136: Línia 147:
 
</pre>
 
</pre>
  
20) Confirme que la tabla está vacía.
+
20) Verifique que la tabla está vacía.
 
<pre>
 
<pre>
 
SELECT *
 
SELECT *
Línia 147: Línia 158:
 
</pre>
 
</pre>
  
22) Confirme que la nueva fila esté intacta.
+
22) Compruebe que la nueva fila esté intacta.
  
 
<pre>
 
<pre>
Línia 154: Línia 165:
 
</pre>
 
</pre>
  
23) Convierta la adición de datos en permanente.
+
23) Confirme los cambios.
 
<pre>
 
<pre>
 
COMMIT;
 
COMMIT;
Línia 188: Línia 199:
 
|}
 
|}
  
26) Confirme que se ha agregado la nueva fila con el USERID correcto.
+
26) Compruebe que se ha agregado la nueva fila con el USERID correcto.
 
<pre>
 
<pre>
 
SELECT *
 
SELECT *
 
FROM my_employee
 
FROM my_employee
 +
WHERE ID='6';
 
</pre>
 
</pre>
WHERE ID='6';
 

Revisió de 16:16, 21 nov 2023

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';