Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


practica 9 base de datos, Apuntes de Programación de Bases de Datos

consulta avanzada sobre base de datos avanzada

Tipo: Apuntes

2021/2022

Subido el 05/07/2023

alex-hoh
alex-hoh 🇩🇴

2 documentos

1 / 25

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Práctica 9 - Consultas Avanzadas
Participantes:
Richard August Cannady Pérez 2018-
5844 Erick De Jesus Brito Francisco
2017-5642 Sofia Betsabe Beriguete
Feliz 2018-7106 Andri Manuel
Bonilla Guzmán 2018-6551
Profesor: Leandro Fondeur
Fecha de entrega: 19/11/2020
I.Realice los siguientes ejercicios luego de
estudiar el documento
D64254GC11_les07.ppt:
7.1 Construya un código PL/SQL que lea
el ID del empleado, ID del supervisor y
comisión. Si el empleado cobra comisión
que guarde en una variable "Cobra
comisión". Además, si el empleado se
reporta a un supervisor que guarde en la
misma variable "Tiene supervisor". Al final,
mostrar en pantalla el siguiente mensaje:
"El empleado <<ID del empleado>>
<<Mensaje>>".
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Vista previa parcial del texto

¡Descarga practica 9 base de datos y más Apuntes en PDF de Programación de Bases de Datos solo en Docsity!

Práctica 9 - Consultas Avanzadas Participantes: Richard August Cannady Pérez 2018- 5844 Erick De Jesus Brito Francisco 2017-5642 Sofia Betsabe Beriguete Feliz 2018-7106 Andri Manuel Bonilla Guzmán 2018- Profesor: Leandro Fondeur Fecha de entrega: 19/11/ I.Realice los siguientes ejercicios luego de estudiar el documento D64254GC11_les07.ppt: 7.1 Construya un código PL/SQL que lea el ID del empleado, ID del supervisor y comisión. Si el empleado cobra comisión que guarde en una variable "Cobra comisión". Además, si el empleado se reporta a un supervisor que guarde en la misma variable "Tiene supervisor". Al final, mostrar en pantalla el siguiente mensaje: "El empleado <> <>".

Guarde la información leída de la tabla de empleados en una variable tipo RECORD. Permitir que el código sea reusable. 7.2 Primero deben crear una tabla [EMP_GRADES] que tenga la siguiente estructura: EMP_ID NUMBER(6) NAME VARCHAR2(60) -- Lastname + ', ' + Firstname SALARY NUMBER(8,2)

almacenar en una variable un texto dependiendo del nivel salarial. Si es "A" almacenan "Low", si es "B" o "C" almacenan "Medium", si es "D" almacenan "High", de lo contrario almacenan "Elite". Finalmente deberán insertar en la tabla creada inicialmente los valores obtenidos. Fuera del código, revise el contenido de la tabla EMP_GRADES.

7.3 Construir un código PL/SQL usando una estructura de arreglo asociativa (INDEX-BY table). En la misma deberás guardar los registros de la tabla de empleados para los ID de empleados del 100 al 120. Las siguientes tareas deberán realizarse a partir del arreglo asociativo construido y usando los métodos de tablas INDEX BY: 1.Mostrar en pantalla la cantidad de registros.

4.Mostrar el apellido del registro 104.

5.Mostrar el apellido del registro anterior al

6.Mostrar el apellido del registro posterior al

7.Mostrar si el registro 8 existe o no.

DECLARE TYPE v id empleyee IS TABLE OF employees %ROWTYPE INDEX BY PLS_IKTEGER; my v id empleyee v id empleyee; BEGIN ^FOR i IK U0..i26 LOOP SELECT * into my_v_id_emp1eyee(i) FROM employees WHERE employee id = i; EKD LOOP; -IF my v id empleyee.EXISTS(lG?) THEN ELSE END IF; EKD; ,:a. : Script Outgut * 'ñ ' Quer,' Result 8 ,-.. guer‘,'^ Result^1 Task completed in 0.0+3 seconds registro existe PL/SQL procedure successfully completed.

9.Eliminar el registro 104.

  1. Eliminar el rango de registros del 115 al

  2. Borrar todos los registros.

  3. Mostrar la cantidad de registros. 7.4 Construir un código PL/SQL que cree una variable tipo VARRAY de tamaño 21 para almacenar los apellidos de los ID de empleados 100 al 120. Para llenar el arreglo, usen BULK COLLECT INTO. Mostrar

por pantalla los datos obtenidos con el siguiente formato: Elemento <<# de elemento>> del arreglo VARRAY: <> 7.5 Crear un tipo de dato VARRAY (dept_type) que sea VARCHAR2(25). El tamaño del arreglo debe ser de 25. Luego deberán crear una variable que use el tipo VARRAY creado anteriormente. En dicha variable almacenen todos los apellidos de los empleados que

forma de construir el código. Muestre el siguiente mensaje: La máxima fecha es <> 8.2 Construya un código PL/SQL usando un CURSOR explícito que busque el apellido y la posición de todos los empleados que se reportan al supervisor 100. Mostrar el siguiente mensaje sólo para los primeros 10 empleados: El empleado <> trabaja como <<Posición>> Utilice FETCH, %NOTFOUND y %ROWCOUNT. Ante de abrir el CURSOR valide que el mismo no se encuentre abierto usando %ISOPEN.

8.3 Construya un código PL/SQL usando cursor FOR LOOP que lea los ID del empleado, apellido, salario, nombre de departamento y nivel salarial. Relacione sus datos con la tabla JOB_GRADES para conocer su nivel salarial. Si el nivel del empleado es 'A' se desea desplegar "Low", si es 'B' o 'C' que despliegue 'Medium', si es 'D' que despliegue 'High' y si no es ninguno de estos niveles, que despliegue 'Elite'. Ordene los datos por el nivel salarial. Mueste la información por pantalla como sigue: Id: <> * Apellido: <> *

El salario debe salir con el siguiente formato: 'fm$99,999' 8.4 Construya un código PL/SQL usando un cursor FOR LOOP con subquery. Muestre el ID, apellido y país de todos los empleados que trabajen en Canadá y United Kingdom. Ordene la data por país y apellido de manera ascendente. El formato de la salida debe ser como sigue: ID *** Apellido *** País

8.5 Construya un código PL/SQL con un cursor que busque el salario total y el salario promedio que trabajan en un departamento dado. Al momento de abrir el cursor pase los valores 20 y 30 como parámetros. Muestre la información como sigue: Departamento(<>): Salario total <> *** Salario promedio <> Los valores del salario deben salir con el siguiente formato: 'fm$99,999'