Вы находитесь на странице: 1из 8

CASO1:

MOSTRAR MENSAJES

BEGIN
dbms_output.put_line('INSTITUTO SISE- UNIVERSITARIA');
dbms_output.put_line('BIENVENIDOS A PL/SQL');
END;

SIEMPRE USAR BEGIN, END

CASO2:

CREAR 2 VARIABLES Y ASIGNAR 10 Y 5 (RESPECTIVAMENTE), LUEGO CALCULAR Y VISUALIZAR


LAS 4 OPERACIONES(+ - * /)

DECLARE
NUMERO1 DECIMAL :=10;
NUMERO2 DECIMAL :=5;
CALCULAR DECIMAL;
BEGIN

CALCULAR := NUMERO1 - NUMERO2;


dbms_output.put_line('RESTA: '||CALCULAR);
CALCULAR := NUMERO1 + NUMERO2;
dbms_output.put_line('SUMA: '||CALCULAR);
CALCULAR := NUMERO1 * NUMERO2;
dbms_output.put_line('MULTIPLICACION: '||CALCULAR);
CALCULAR := NUMERO1/NUMERO2;
dbms_output.put_line('DIVISION: '||CALCULAR);
END;

PROBANDO CODIGOS

DECLARE

N NUMBER;
B BOOLEAN;
D DATE;
C VARCHAR2(40);
X NUMBER;

BEGIN

N:= 5*0.7;
DBMS_OUTPUT.PUT_LINE('LA VARIABLE N ES: '|| N);
B:= TRUE;
D:='04-NOV-2005';
DBMS_OUTPUT.put_line('LA VARIABLE D ES: '|| D);
C:='ANTONY ' || 'AND' || ' CLEOPATRA';
DBMS_OUTPUT.put_line('LA VARIABLE C ES: '|| C);
X:=NULL;
DBMS_OUTPUT.put_line('LA VARIABLE X ES: '|| X);

END;
PROBANDO CODIGOS 2

DECLARE

V_SAL NUMBER;
V_NAME VARCHAR(50);
V_FECHA DATE;

BEGIN

V_SAL:=ROUND(2585.6452,2);
V_NAME:=INITCAP('BASE DE DATOS AVANZADO');
V_FECHA:=TO_DATE('06/05/2005','DD/MM/YYYY');

DBMS_OUTPUT.put_line('CURSO:'||V_NAME||'FECHA: '||
TO_CHAR(V_FECHA,'DD DAY MONTH YYYY'));
DBMS_OUTPUT.put_line('SALARIO: ' || V_SAL);

END;

CASO 5

IMAGEN

DECLARE

MONTO DECIMAL := 1000;

SOCIO1 DECIMAL;
SOCIO2 DECIMAL;
SOCIO3 DECIMAL;
SOCIO4 DECIMAL;
SOCIO5 DECIMAL;
SOCIO6 DECIMAL;

BEGIN

SOCIO1 := 1000 * 0.25;


dbms_output.put_line('25% MONTO A REPARTIR: '||SOCIO1);

SOCIO2 := 1000 * 0.10;


dbms_output.put_line('10% MONTO A REPARTIR: '||SOCIO2);

SOCIO3 := 1000 * 0.15;


dbms_output.put_line('15% MONTO A REPARTIR: '||SOCIO3);

SOCIO4 := 1000 * 0.05;


dbms_output.put_line('5% MONTO A REPARTIR: '||SOCIO4);

SOCIO5 := 1000 * 0.20;


dbms_output.put_line('20% MONTO A REPARTIR: '||SOCIO5);

SOCIO6 := 1000-(SOCIO1+SOCIO2+SOCIO3+SOCIO4+SOCIO5);
dbms_output.put_line('LO QUE QUEDA MONTO A REPARTIR: '||SOCIO6);
END;
CASO 6:

DECLARE
MONTO DECIMAL;
SOCIO1 DECIMAL;
SOCIO2 DECIMAL;
SOCIO3 DECIMAL;
SOCIO4 DECIMAL;
SOCIO5 DECIMAL;
SOCIO6 DECIMAL;

BEGIN

--& ESTO ES PARA Q APAREZCA UNA VENTANA DE DIALOGO SOLICITANDO DATOS


MONTO:= &INGRESE_MONTO;
SOCIO1 := MONTO * 0.25;
dbms_output.put_line('25% MONTO A REPARTIR: '||SOCIO1);

SOCIO2 := MONTO * 0.10;


dbms_output.put_line('10% MONTO A REPARTIR: '||SOCIO2);

SOCIO3 := MONTO * 0.15;


dbms_output.put_line('15% MONTO A REPARTIR: '||SOCIO3);

SOCIO4 := MONTO * 0.05;


dbms_output.put_line('5% MONTO A REPARTIR: '||SOCIO4);

SOCIO5 := MONTO * 0.20;


dbms_output.put_line('20% MONTO A REPARTIR: '||SOCIO5);

SOCIO6 := MONTO-(SOCIO1+SOCIO2+SOCIO3+SOCIO4+SOCIO5);
dbms_output.put_line('LO QUE QUEDA MONTO A REPARTIR: '||SOCIO6);
END;

CASO 7:

DECLARE
NUMERO1 DECIMAL;
NUMERO2 DECIMAL;

BEGIN
NUMERO1:=&INGRESE_NUMERO1;
NUMERO2:=&INGRESE_NUMERO2;

IF (NUMERO1>NUMERO2) THEN

DBMS_OUTPUT.put_line('EL NUMERO MAYOR ES: '|| NUMERO1);

ELSIF (NUMERO2>NUMERO1) THEN

DBMS_OUTPUT.put_line('EL NUMERO MAYOR ES: '|| NUMERO2);

ELSE

DBMS_OUTPUT.put_line('IGUALES');
END IF;
END;

CASO 8

DECLARE
V_NUMERO PLS_INTEGER;
V_TEXTO VARCHAR(40);
BEGIN
V_NUMERO :=&"INGRESE NUMERO";
FOR I IN 1..12 LOOP
V_TEXTO:= V_NUMERO ||' X ' || I;
V_TEXTO:= V_TEXTO || ' = ';
V_TEXTO:=V_TEXTO || V_NUMERO * I;
DBMS_OUTPUT.put_line(V_TEXTO);
END LOOP;
END;

CASO 9:

DECLARE
NUMERO1 PLS_INTEGER;
TEXTO VARCHAR(40);
TEXTO2 VARCHAR(40);
T1 VARCHAR(40);
BEGIN
DBMS_OUTPUT.put_line('N' || CHR(9)|| 'CUADRADO' || CHR(9) ||'CUBO');
FOR I IN 1..15 LOOP
T1:=I;
TEXTO:= I * I;
TEXTO2:= I * I * I;

DBMS_OUTPUT.put_line(T1 || CHR(9)|| CHR(9)|| CHR(9) || TEXTO || CHR(9)||CHR(9) ||


CHR(9)||CHR(9)|| TEXTO2);
END LOOP;

END;

CASO 10:

USO DEL LOOP

DECLARE
N INTEGER;
CUA INTEGER;
CUB INTEGER;
BEGIN
N:=0;
LOOP
N:=N+1;
CUA:=N*N;
CUB:=N*N*N;
DBMS_OUTPUT.put_line(N||CHR(9)||CUA||CHR(9)||CUB);
EXIT WHEN N=20;
END LOOP;
DBMS_OUTPUT.put_line('FIN DEL LOOP');
END;

CASO 11:

SACAR NUMERO PAR E IMPAR

DECLARE
V_CONT_N NUMBER:=1;

BEGIN
WHILE V_CONT_N <=20 LOOP
IF MOD(V_CONT_N,2)=0 THEN
DBMS_OUTPUT.put_line(V_CONT_N || ' ES PAR');
ELSE
DBMS_OUTPUT.put_line(V_CONT_N || ' ES IMPAR');
END IF;
V_CONT_N :=V_CONT_N +1;
END LOOP;
END;

CASO 12:

EJECUTAR LA BASE DATOS NEPTUNO

DECLARE
ID INTEGER;
DESTINO VARCHAR(100);
BEGIN
ID:=&"No. PEDIDO: ";
SELECT DESTINATARIO INTO DESTINO
FROM PEDIDOS WHERE IDPEDIDO=ID;
DBMS_OUTPUT.put_line('DESTINATARIO :'|| DESTINO);
END;

CASO 13:

DECLARE
CODIGO CLIENTES.IDCLIENTE%TYPE:='SISE2';
NOMBRE CLIENTES.NOMBRECOMPAIA%TYPE:='INSTITUTO SISE';
DIRECCION CLIENTES.DIRECCION%TYPE:='AV. UNIVERSITARIA 1290';
BEGIN
INSERT INTO CLIENTES(IDCLIENTE,NOMBRECOMPAIA,DIRECCION)
VALUES (CODIGO,NOMBRE,DIRECCION);
COMMIT;
END;

CASO 14:

DECLARE
CODIGO INTEGER;
PRECIO INTEGER;
BEGIN
CODIGO:=&"iNGRESE CODIGO";
PRECIO:=&"INGRESE PRECIO";
UPDATE PRODUCTOS SET PRECIOUNIDAD=PRECIO
WHERE IDPRODUCTO=CODIGO;

COMMIT;
END;

CASO 15:

--USO DE SENTENCIAS SQL CON PL/SQL


DECLARE
NUMERO PEDIDOS.IDPEDIDO%TYPE;
DIRECCION PEDIDOS.DIRECCIONDESTINATARIO%TYPE;
CIUDAD PEDIDOS.CIUDADDESTINATARIO%TYPE;
DESTINO PEDIDOS.DESTINATARIO%TYPE;
BEGIN
NUMERO:=10248;
SELECT DESTINATARIO,CIUDADDESTINATARIO,DIRECCIONDESTINATARIO INTO
DESTINO,CIUDAD,DIRECCION
FROM PEDIDOS WHERE IDPEDIDO = NUMERO;

DBMS_OUTPUT.put_line('PEDIDO No : '|| TO_CHAR(NUMERO));


DBMS_OUTPUT.put_line('DESTINATARIO: '||DESTINO);
DBMS_OUTPUT.put_line('DIRECCION:' ||DIRECCION);
DBMS_OUTPUT.put_line('CIUDAD: '||CIUDAD);
END;

CASO 16:

--CASO 2
DECLARE
ID PRODUCTOS.IDPRODUCTO%TYPE;
NOMBRE PRODUCTOS.NOMBREPRODUCTO%TYPE;
PRECIO PRODUCTOS.PRECIOUNIDAD%TYPE;
CATEGORIA CATEGORIAS.NOMBRECATEGORIA%TYPE;

BEGIN
ID:=&"CODIGO DEL PRODUCTO";
SELECT NOMBREPRODUCTO,PRECIOUNIDAD,NOMBRECATEGORIA INTO NOMBRE,PRECIO,CATEGORIA
FROM PRODUCTOS INNER JOIN CATEGORIAS USING(IDCATEGORIA)
WHERE IDPRODUCTO = ID;

DBMS_OUTPUT.put_line('CODIGO: '||TO_CHAR(ID));
DBMS_OUTPUT.PUT_LINE('PRODUCTO: '||NOMBRE);
DBMS_OUTPUT.put_line('PRECIO: '||PRECIO);
DBMS_OUTPUT.PUT_LINE('CATEGORIA: '||CATEGORIA);

END;

CASO 17:

--CASO 3
DECLARE
NUMERO PEDIDOS.IDPEDIDO%TYPE;
FECHAPEDIDO PEDIDOS.FECHAPEDIDO%TYPE;
FECHADEENVIO PEDIDOS.FECHAENVIO%TYPE;
DESTINATARIO PEDIDOS.DESTINATARIO%TYPE;
APELLIDOEMPLEADO EMPLEADOS.APELLIDOS%TYPE;
NOMBREEMPLEADO EMPLEADOS.NOMBRE%TYPE;
BEGIN
NUMERO:=&"CODIGO DEL PRODUCTO";
SELECT FECHAPEDIDO,FECHAENVIO,DESTINATARIO,APELLIDOS,NOMBRE INTO
FECHAPEDIDO,FECHADEENVIO,DESTINATARIO,APELLIDOEMPLEADO,NOMBREEMPLEADO
FROM PEDIDOS INNER JOIN EMPLEADOS USING(IDEMPLEADO)
WHERE IDPEDIDO = NUMERO;

DBMS_OUTPUT.put_line('NUMERO DEL PEDIDO: '||TO_CHAR(NUMERO));


DBMS_OUTPUT.PUT_LINE('FECHA DEL PEDIDO: '||FECHAPEDIDO);
DBMS_OUTPUT.put_line('FECHA DE ENVIO: '||FECHADEENVIO);
DBMS_OUTPUT.PUT_LINE('DESTINATARIO: '||DESTINATARIO);
DBMS_OUTPUT.PUT_LINE('EMPLEADO: '||APELLIDOEMPLEADO|| ' '||NOMBREEMPLEADO);
END;

SELECT * FROM PEDIDOS;

CASO 18:

SOLICITAR EL #PEDIDO
VISUALIZAR
NRO DEL PEDIDO
IMPORTE TOTAL

--CASO 4
DECLARE
ID PEDIDOS.IDPEDIDO%TYPE;
CANT DETALLESDEPEDIDOS.CANTIDAD%TYPE;
PRECIOUNID DETALLESDEPEDIDOS.PRECIOUNIDAD%TYPE;
IMPORTETOTAL NUMBER;

BEGIN

ID:=&"CODIGO DEL PEDIDO";


SELECT COUNT(IDPEDIDO),DP.PRECIOUNIDAD,DP.CANTIDAD
INTO PRECIOUNID,CANT
FROM PEDIDOS T
INNER JOIN DETALLESDEPEDIDOS DP ON T.IDPEDIDO =DP.IDPEDIDO
WHERE T.IDPEDIDO = ID;

END;

SELECT * FROM DETALLESDEPEDIDOS


WHERE IDPEDIDO=10248;

SELECT * FROM DETALLESDEPEDIDOS;


SELECT * FROM PEDIDOS;
SELECT * FROM PRODUCTOS;
SELECT * FROM CLIENTES;

---CASO 5
DECLARE
ID DETALLESDEPEDIDOS.IDPEDIDO%TYPE;
IMPO DETALLESDEPEDIDOS.PRECIOUNIDAD%TYPE;

BEGIN
ID:=&"ID PEDIDO";
SELECT SUM(CANTIDAD*PRECIOUNIDAD) INTO IMPO
FROM DETALLESDEPEDIDOS
WHERE IDPEDIDO= ID;

DBMS_OUTPUT.PUT_LINE('ID PEDIDO:' || TO_CHAR(ID));


DBMS_OUTPUT.PUT_LINE('IMPORTE TOTAL :'|| TO_CHAR(IMPO));
END;

Вам также может понравиться