Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SET SERVEROUTPUT ON
DECLARE
EX PRODUCTOS.UNIDADESEXISTENCIAS%TYPE;
BEGIN
FROM PRODUCTOS
IF(EX>10)THEN
ELSE
END IF;
END;
2. Determinar si el descuento de los pedidos pertenecientes al id igual a 25 es mayor
a 73 dolares. Si fuera el caso mostrar un mensaje que diga ALTO DESCUENTO
caso contrario mostrar POCO DESCUENTO.
SET SERVEROUTPUT ON
DECLARE
DES DETALLE_PEDIDOS.DESCUENTO%TYPE;
BEGIN
FROM DETALLE_PEDIDOS
WHERE IDPEDIDO=25;
IF(DES<73)THEN
DBMS_OUTPUT.PUT_LINE('POCO DESCUENTO');
ELSE
DBMS_OUTPUT.PUT_LINE('ALTO DESCUENTO');
END IF;
END;
SELECCION CASE
SET SERVEROUTPUT ON
DECLARE
nCiudad POVEEDORES.CIUDAD%TYPE;
nAumento VARCHAR2(20);
BEGIN
Case nCiudad
else
nAumento:= '7Unidades';
end case;
END;
DECLARE
nCantidad PRODUCTOS.CANTIDADPORUNIDAD%TYPE;
nDescuento number(4,2);
BEGIN
Case
else
nDescuento:=0.07;
end case;
END;
ESTRUCTURAS REPETITIVAS
Bucle LOOP
1. Mostrar el total de la cantidad por el precio unidad de todos los productos que
tengan un precio unidad mayor a 10.
SET SERVEROUTPUT ON
DECLARE
nTotal number:=0;
ncantidad PRODUCTOS.CANTIDADPORUNIDAD%TYPE;
nPrecio PRODUCTOS.PRECIOUNIDAD%TYPE;
BEGIN
LOOP
nTotal:= ncantidad * nPrecio;
DBMS_OUTPUT.PUT_LINE('Total'||TO_CHAR(ncantidad)||'*'||TO_CHAR(nPrecio)||'
='||TO_CHAR(nTotal));
nPrecio := nPrecio + 1;
EXIT WHEN nPrecio > 10;
end loop;
END;
DECLARE
resultado number:=0;
BEGIN
LOOP
nCantidad PRODUCTOS.CANTIDADUNIDAD%TYPE
resultado := 10 + nCantidad;
DBMS_OUTPUT.PUT_LINE('10 + '||TO_CHAR(nCantidad)||'='||TO_CHAR(resultado));
nCantidad := nCantidad + 1;
EXIT;
END IF;
END LOOP;
END;
BUCLE FOR
1. Realizar un descuento del 5% a todos los productos cuyp precio unidad sea mayor
a 10
Set SERVEROUTPUT ON
DECLARE
nDescuento number(4,2)
nPrecio PRODUCTOS.PRECIOUNIDAD%TYPE
BEGIN
nDescuento= nPrecio*0.05;
END LOOP;
END;
Set SERVEROUTPUT ON
DECLARE
nAumento
nCantidad PRODUCTOS.CANTIDADPORUNIDAD%TYPE
BEGIN
FOR (nCantidad<5) LOOP
END LOOP;
END;
BUCLE WHILE
SET SERVEROUTPUT ON
DECLARE
EX PRODUCTOS.UNIDADESEXISTENCIAS%TYPE;
BEGIN
FROM PRODUCTOS
WHERE NOMBREPRODUCTO='Leche';
END LOOP;
END;
CURSORES
Set SERVEROUTPUT ON
DECLARE
CURSOR nCiudad
IS
FROM CLIENTES;
registro nCiudad%ROWTYPE;
BEGIN
OPEN nCiudad;
CLOSE nCiudad;
END;
Set SERVEROUTPUT ON
BEGIN
LOOP
dbms_output.put_line(nRegistro.NOMBRECOMPAÑIA);
END LOOP;
END;
3. Mostra los pedidos, fecha de entrega y pedido de todos los pedidos cuya cantidad
sea mayor a 15.
Set serveroutput On
DECLARE
CURSOR nPedidos
IS
nRegistro nPedidos%RowType;
BEGIN
OPEN nPedidos;
LOOP
dbms_output.put_line(nRegistro.DESTINATARIO);
END LOOP;
CLOSE nPedidos;
END;