M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T10-HR

De wikiserver
Dreceres ràpides: navegació, cerca

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.