M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T10-HR
Cree nuevas tablas mediante la sentencia CREATE TABLE . Confirme que la nueva tabla se ha agregado a la base de datos. También aprenderá a definir el estado de una tabla como READ ONLY y, a continuación, revertir a READ/WRITE.
Nota: para todas las sentencias DDL y DML , haga clic en el icono Run Script (o pulse [F5]) para ejecutar la consulta en SQL Developer. De esta forma, ve los mensajes de comentarios en la página con separadores Script Output. Para consultas SELECT , siga haciendo clic en el icono Execute Statement o pulse [F9] para obtener la salida con formato en la página con separadores Results.
| Column Name | ID | Name |
|---|---|---|
| Key Type | Primary Key | |
| Nulls/Unique | ||
| FK Table | ||
| Fk Column | ||
| DataType | Number | Varchar2 |
| Length | 7 | 25 |
1) Cree la tabla DEPT según el siguiente gráfico de instancias de tabla. Guarde la sentencia en un script denominado lab_10_01.sql y, a continuación, ejecute el script para crear la tabla. Confirme que se ha creado la tabla.
Name Null? Type
---------- -------- ----------
ID NOT NULL NUMBER(7)
NAME VARCHAR2(25)
2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo las columnas que necesite.
3) Cree la tabla EMP según el siguiente gráfico de instancias de tabla. Guarde la sentencia en un script denominado lab_10_03.sql y, a continuación, ejecute el script para crear la tabla. Confirme que se ha creado la tabla.
| Column Name | ID | LAST_NAME | FIRST_NAME | DEPT_ID |
|---|---|---|---|---|
| Key Type | Primary Key | |||
| Nulls/Unique | ||||
| FK Table | DEPT | |||
| Fk Column | ID | |||
| DataType | NUMBER | VARCHAR2 | VARCHAR2 | NUMBER |
| Length | 7 | 25 | 25 | 7 |
Name Null? Type
---------- -------- ----------
ID NUMBER(7)
LAST_NAME VARCHAR2(25)
FIRST_NAME VARCHAR2(25)
DEPT_ID NUMBER(7)
4) Cree la tabla EMPLOYEES2 según la estructura de la tabla EMPLOYEES . Incluya sólo las columnas EMPLOYEE_ID , FIRST_NAME , LAST_NAME , SALARY y DEPARTMENT_ID . Asigne a las columnas de la tabla los nombres ID, FIRST_NAME, LAST_NAME, SALARY y DEPT_ID, respectivamente.
5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura. Tenga en cuenta que esta opción está soportada en Oracle Database 11g.
6) Intente insertar la siguiente fila en la tabla EMPLOYEES2:
| ID | FIRST_NAME | LAST_NAME | SALARY | DEPT_ID |
|---|---|---|---|---|
| 34 | Grant | Marcie | 5678 | 10 |
Aparecerá el siguiente mensaje de error:
Error que empieza en la línea: 3 del comando -
INSERT INTO employees2
VALUES (34,'Grant','Marcie',5678,10)
Error en la línea de comandos : 3 Columna : 13
Informe de error -
Error SQL: ORA-12081: update operation not allowed on table "HR"."EMPLOYEES2"
12081. 00000 - "update operation not allowed on table \"%s\".\"%s\""
*Cause: An attempt was made to update a read-only materialized view.
*Action: No action required. Only Oracle is allowed to update a
read-only materialized view.
7) Revierta la tabla EMPLOYEES2 al estado de lectura/escritura. Ahora, vuelva a intentar insertar la misma fila. Tenga en cuenta que esta opción está soportada en Oracle Database 11g.
Deben aparecer los siguientes mensajes:
Table EMPLOYEES2 alterado. 1 fila insertadas.
8) Borre la tabla EMPLOYEES2.