2. CREAR UN PL/SQL
Declarar e inicializar las siguientes variables:
• Número de camisetas a vender
• Monto de camisetas
Calcular:
• Sub total a pagar = ( Numero de camisetas *
Monto de camisetas )
• Calcular el 15% de impuesto sobre ventas
• Total a pagar = SubTotal + Impuesto Sobre
ventas.
Venta de camisetas
3. TAREA #2
Aumento de Salario
Realizar un PL/SQL para determinar el
aumento de salario y el nuevo salario
neto de un empleado de la siguiente
manera:
4. 1- Se definirá el salario base en Dólares del
empleado. Este dato lo ingresaremos en la declaración
del PL. (Debe de ser entre un rango de 600 a 2000
USDs)
2- El cálculo del aumento será de la siguiente manera
* <= $600, le corresponde un 15% de aumento
* entre 601 y 950, aumento de 13.5%
* entre 951 y 1400, aumento de 10%
* >= 1401, aumento del 5%
3- Imprimir los resultados en consola.
5. Tarea #1 de Ciclos
Dado el siguiente PL, determine el promedio de las notas contenidas en el arreglo.
Puede utilizar cualquier ciclo visto en la sección.
— =============
— Codigo PL-SQL
— =============
set serveroutput on;
declare
type notasArray is varray(4) of number;
notas notasArray := notasArray(95,60,75,85);
promedio number(6,2) := 0;
begin
— dbms_output.put_line( promedio ); — Determine el promedio
end;
/
6. Tarea #2 de Ciclos
Dado el siguiente PL, determine el factorial de un numero utilizando un ciclo WHILE.
Nota:
El factorial de un numero es igual a la multiplicación de cada uno de las unidades que lo
conforman, es decir:
• factorial de 2 = 2x1, igual a 2
• factorial de 3 = 3x2x1, igual a 6
• factorial de 4 = 4x3x2x1, igual a 24
• factorial de 5 = 5x4x3x2x1, igual a 120
— =============
— Codigo PL-SQL
— =============
set serveroutput on;
declare
numero number := 4; -- 4x3x2x1
factorial number;
begin
— dbms_output.put_line( factorial ); — Imprimir el resultado del factorial
end;
/
7. Tarea de Procedimientos y funciones
Crear una función que permita calcular el promedio de 4 notas. El resultado final, deberá de
verse así:
Y ser llamado de la siguiente manera:
select a.*, promedio_notas( nota1,nota2,nota3,nota4) as promedio from notas a
NOTAS:
En el material adjunto tienen el Script de creación de la tabla. En caso de que no lo puedan
abrir por alguna razón, lo dejare aquí:
— SCRIPT DE CREACION
CREATE TABLE NOTAS ("NOMBRE" VARCHAR2(100), "NOTA1" NUMBER(3,0), "NOTA2"
NUMBER, "NOTA3" NUMBER, "NOTA4" NUMBER);
SET DEFINE OFF;
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Tonya
Vazquez','100','80','99','77');
8. Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Mathews
Robbins','88','56','100','89');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Walton
Vincent','77','38','50','100');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Audra
Wade','92','93','93','80');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Susanne
Moody','70','67','78','83');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Stevenson
Dickson','45','90','70','89');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Hinton
Cooper','76','80','60','78');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Hahn
Brown','70','88','73','93');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Bennett
Brady','90','95','100','99');
Insert into NOTAS (NOMBRE,NOTA1,NOTA2,NOTA3,NOTA4) values ('Mueller
Jimenez','65','70','85','96');
— Fin del script de creación de tabla y data.
9. Tarea de cursores
Escribir un PL-SQL que realice la siguiente impresión en consola por EMPLEADO.
========================
Empleado: Nombre empleado
Salario diario: 999.99
DiasTrabajados: 99
Salario a Pagar: (Salario diario * dias trabajados)
========================
Debe de utilizar un cursor EXPLICITO, que llame a un procedimiento de impresión del registro.
NOTAS:
El salario diario = Salario / 30;
Es decir, el salario diario, es igual al salario que se encuentra en la tabla y lo dividiremos por
30.
salarioDiario = salario/30;