Introduction to Oracle: SQL and PL/SQL, Instructor Guide, Volumen 1
Práctica 9: Manipulando Datos --------------------------------------------------------------------
Inserta los datos dentro de la tabla nueva MY_EMPLOYEE -----------------------------------------------------Ejercicio 1: Ejecuta el archivo de comandos SQL "lab9_1.sql" para construir la tabla MY_EMPLOYEE que se usará para estas prácticas de laboratorio. Contenido del archivo: lab9_1.sql --------------------------------" CREATE TABLE "MY_EMPLOYEE"( "ID" NUMBER(4) NOT NULL, "LAST_NAME" VARCHAR2(25), "FIRST_NAME" VARCHAR2(25), "USERID" VARCHAR2(8), "SALARY" NUMBER(9,2), CONSTRAINT "MY_EMPLOYEE_PK" PRIMARY KEY ("ID") ENABLE ); " SQL>
start lab9_1.sql
Ejercicio 2: Describe la estructura de la tabla MY_EMPLOYEE para identificar los nomb res de las columnas. SQL>
desc MY_EMPLOYEE
Ejercicio 3: Agregue el primer registrofila de datos para la tabla MY_EMPLOYEE desde los datos de ejemplo siguientes. No liste las columnas en la sentencia INSERT. USERID -----rpatel bdanes bbiri cnewman
ID SALARY -------------1 795 2 860 3 1100 4 750
LAST_NAME
FIRST_NAME
---------
----------
Patel
Ralph
Danes
Betty
Biri
Ben
Newman
Chad
aroperbur SQL>
5 1550
Ropeburn
Audry
INSERT IN INTO MY MY_EMPLOYEE VALUES (1,'Patel','Ralph','rpatel',795);
Ejer Ejerci cici cio o 4: Comp Comple lete te la la tabl tabla a MY_E MY_EMP MPLOY LOYEE EE con con el el segu segund ndo o regi regist stro rof fil ila a de lo lo s datos de ejemplo de la lista precedente. Esta vez, liste las columnas explícitamente en la claúsula de la sen tencia INSERT. SQL> Ejer Ejerci cici cio o 5: 5: SQL>
INSERT INTO MY_EMPLOYEE (ID,LAST_NAME,FIRST_NAME,USERID,SALARY) VALUES (2,'Danes','Betty','bdanes',860); Conf Confir irma ma que que has has añad añadid ido o dat datos os a la la tab tabla la MY_E MY_EMP MPLO LOYE YEE. E. SELECT * FROM MY_EMPLOYEE;
Ejer Ejerci cici cio o 6: Cree Cree un un arch archiv ivo o de com coman andos dos (sc (scri ript pt) ) SQL, SQL, nom nombr brán ándo dolo lo "lo "load adem emp. p.sq sql l ", para cargar los registrosfilas dentro de la tabla MY_EMPLOYEE interactivamente. Pregúntele al usu ario por el ID del Empleado, el Nombre, el Apellido y el Salario del Empleado. Concatene la primer letra del Nombre con las primeras siete letras del Apellido para producir el valor de la columna "USERID". Ayuda: Use la función SUBSTR( 'Cadena_Caracteres', POSICIÓN_LETRA_IN ICIAL, LONGITUD_SUBCADENA_CARACTERES )
or ingrese el or ingrese el or ingrese el or ingrese el ID, SALARY)
Contenido del archivo de comandos: loademp.sql ---------------------------------------------" ACCEPT emp_id PROMPT 'Por fav ID del Empleado: ' ACCEPT emp_last_name PROMPT 'Por fav Apellido del Empleado: ' ACCEPT emp_first_name PROMPT 'Por fav Nombre del Empleado: ' ACCEPT emp_sal PROMPT 'Por fav Salario del Empleado: ' INSERT INTO MY_EMPLOYEE (ID, LAST_NAME, FIRST_NAME, USER VALUES (
SUBSTR('&emp_last_name', 1, 7 ) ),
SQL>
"
);
&emp_id, '&emp_last_name', '&emp_first_name', LOWER ( SUBSTR('&emp_first_name', 1, 1 ) &emp_sal
Ejer Ejerci cici cio o 7: Comp Comple lete te la la tabl tabla a MY_E MY_EMP MPLOY LOYEE EE con con los los dos dos reg regis istr tros osf fil ilas as sig sigui uie e ntes de los datos de ejemplo ejecutando el archivo de comandos (SCRIPT) SQL que has creado. SQL>
start loademp.sql
SQL> Ejer Ejerci cici cio o 8: 8: SQL> Ejer Ejerci cici cio o 9: 9: SQL>
start loademp.sql Conf Confir irme me las las ins inser erci cion ones es hec hecha has s en en la la tab tabla la MY_E MY_EMP MPLO LOYE YEE. E. SELECT * FROM MY_EMPLOYEE; Haga Haga que que la la ins inser erci ción ón de los los reg regis istr tros os sea sea per perma mane nent nte. e. COMMIT;
Actualiza y Elimina datos en la tabla MY_EMPLOYEE. -------------------------------------------------Ejerci Ejercicio cio 10: Modifi Modifica ca el el Apell Apellido ido del Empl Emplead eado o con con ID 3 para para que que cont conteng enga a el Apellido: Drexler. SQL>
UPDATE SET WHERE
MY_EMPLOYEE LAST_NAME = 'Drexler' ID = 3;
Ejerci Ejercicio cio 11: Modifi Modifica ca el el Salar Salario io con con el Valor Valor 1000 1000 para para todos todos los Emplea Empleados dos c on Salario Menor que 900. SQL>
Ejerci Ejercicio cio 12: SQL> Ejerci Ejercicio cio 13: SQL>
Ejerci Ejercicio cio 14: SQL> Ejerci Ejercicio cio 15: SQL>
UPDATE SET WHERE
MY_EMPLOYEE SALARY = 1000 SALARY < 900;
Verifi Verifica ca los los camb cambios ios que has hecho hecho a la tabl tabla a MY_EM MY_EMPLO PLOYEE YEE. . SELECT FROM
LAST_NAME, SALARY MY_EMPLOYEE;
Elimin Elimina a el regist registro rofil fila a de Bett Betty y Danes Danes de la la tabla tabla MY_EMP MY_EMPLOY LOYEE. EE. DELETE FROM WHERE
MY_EMPLOYEE ID = 2;
Confir Confirma ma los los camb cambios ios que has hechos hechos a la tabla tabla MY_E MY_EMPL MPLOYE OYEE. E. SELECT FROM
ID, LA LAST_NAME, FIR FIRS ST_NAME, US USERID, SA SALARY MY_EMPLOYEE;
Confir Confirme meCom Cometa eta todos todos los cambio cambios s que que están están pendie pendiente ntes. s. COMMIT;
Controle las Transacciones de datos para la tabla MY_EMPLOYEE ------------------------------------------------------------Ejerci Ejercicio cio 16: Comple Complete te la la tabla tabla MY_EMP MY_EMPLOYE LOYEE E con con el último último regist registro rofil fila a de los d atos de ejemplo ejecutando el archivo de comandos (SCRIPT) SQL que has creado en el Ejercicio 6. SQL> start loademp.sql Ejerci Ejercicio cio 17: SQL>
Verifi Verifique que la inserc inserción ión hecha hecha a la tabla tabla MY_EMP MY_EMPLOY LOYEE. EE. SELECT
ID, LA LAST_NAME, FIR FIRS ST_NAME, US USERID, SA SALARY
FROM
MY_EMPLOYEE;
Ejerci Ejercicio cio 18: Haga Haga una una marca marca de punt punto o de guar guardad dado o inter intermed medio io en en el proces procesami amien en to de la transacción. SQL> Ejer Ejerci cici cio o 19: 19: SQL> Ejer Ejerci cici cio o 20: 20: SQL>
SAVEPOINT
PUNTO_GUARDADO_A;
Vací Vacíe e toda toda la tabl tabla a MY_E MY_EMPL MPLOY OYEE EE; ; DELETE FROM
MY_EMPLOYEE;
Veri Verifi fiqu que e que que la tab tabla la MY_E MY_EMP MPLO LOYE YEE E está está vac vacía ía. . SELECT FROM
ID, LA LAST_NAME, FIR FIRS ST_NAME, US USERID, SA SALARY MY_EMPLOYEE;
Ejerci Ejercicio cio 21: 21: Descar Descarte te la operac operación ión de de elimin eliminaci ación ón mas mas recien reciente te sin sin deshac deshacer er la op eración de inserción previa. SQL> Ejerci Ejercicio cio 22: SQL> Ejer Ejerci cici cio o 23: 23: SQL>
ROLLBACK TO TO
PUNTO_GUARDADO_A;
Verifi Verifique que que el nuev nuevo o regis registro trofi fila la toda todavía vía está está intac intacto. to. SELECT FROM
ID, LA LAST_NAME, FIR FIRS ST_NAME, US USERID, SA SALARY MY_EMPLOYEE;
Haga Haga que que la la adic adició ión n de los los dat datos os sea sea per perma mane nent nte. e. COMMIT;