Está en la página 1de 3

Prctica I.

Variables y bloques en PL/SQL



Indica el valor de las variables del siguiente bloque PL/SQL en cada momento:
DECLARE
v_customer VARCHAR2(50):=Womansport;
v_weight NUMBER(3):=600;
v_message VARCHAR2(255):=Producto 10012;
BEGIN
DECLARE
v_customer NUMBER(7):=201;
v_message VARCHAR(255):=Producto 11001;
v_new_locn VARCHAR2(50):=Europa;
BEGIN
v_weight:=v_weight+1;
v_new_locn:=Oeste||v_new_locn;
END;
v_weight:=v_weight+1;
v_message:=v_message||est en stock;
v_customer:=Carmen || v_customer;
v_new_locn:=Oeste||v_new_locn;
END;
/

RESULTADO
DECLARE
v_customer VARCHAR2(50):=Womansport;// su valor es Womansport
v_weight NUMBER(3):=600;// su valor es 600
v_message VARCHAR2(255):=Producto 10012;//su valor es Producto 10012
BEGIN
DECLARE
v_customer NUMBER(7):=201;
v_message VARCHAR(255):=Producto 11001; // su valor es Producto 11001
v_new_locn VARCHAR2(50):=Europa;// su valor es Europa
BEGIN
v_weight:=v_weight+1; // su valor es 601
v_new_locn:=Oeste||v_new_locn; //su valor es oeste europa
END;
v_weight:=v_weight+1;//602
v_message:=v_message||est en stock;// su valor es Producto 11001 el cual tienen en
stock
v_customer:=Carmen || v_customer;// su valor es Carmen 201
v_new_locn:=Oeste||v_new_locn;// No esta declarado en el bloque hijo
END;
/
Codifica un procedimiento que reciba una cadena y la visualice al revs.
CREATE OR REPLACE
PROCEDURE cadena (s_reves varchar2) IS
v_reves varchar2(30);
BEGIN
FOR i IN REVERSE 1..LENGTH(s_reves) LOOP
v_reves := s_reves||SUBSTR(s_reves,i,1);
END LOOP;
DBMS_OUTPUT.PUT_LINE(v_reves);

END;
Construye un bloque PL/SQL que pida el precio de un producto y el valor del IVA a aplicarle,
e imprima el valor del total del producto.

Construye un bloque PL/SQL que seleccione el artculo de mayor PVP en la tabla ARTCULOS
y almacene su valor en una variable de SQL para imprimirlo a continuacin.

Crea un bloque PL/SQL que inserte un nuevo artculo en la tabla ARTCULOS. Los datos del
cdigo y nombre deben pedirse previamente por teclado para darlos como argumentos.

Crea un bloque PL/SQL que actualice la direccin de un cliente en la tabla CLIENTES. Para
ello, el bloque pedir el cdigo del cliente y su nueva direccin.

Crea un bloque que borre todos los proveedores de un pas que se pedir por teclado. Debe
imprimirse el nmero de proveedores que se han borrado.

También podría gustarte