viernes, 23 de marzo de 2012

Clase 3 PL/SQL


PL / SQL

Estructura general de un bloque PL/SQL

DECLARE -  Declaraciones de variables

BEGIN

EXCEPTION

END;

-PARA MOSTRAR POR PANTALLA
BEGIN
DBMS_OUTPUT.PUT_LINE('Hola Mundo');
END;

-Imprimiendo hola declarando una variable

DECLARE
mesaje1 VARCHAR2(4):='Hola';
BEGIN
DBMS_OUTPUT.PUT_LINE(mesaje1);
END;

-Imprimiendo una concatenacion de 2 variables

DECLARE

mensaje1 VARCHAR2(4):='Hola';
mensaje2 VARCHAR2(5):='Mundo';
BEGIN
DBMS_OUTPUT.PUT_LINE(mensaje1 || ' ' || mensaje2);
END;

-se crea la tabla t1 con las columnas e y f

CREATE TABLE T1(
 e INTEGER,
 f INTEGER
);

-Se ejecuta la sentencia para insertar datos

BEGIN
INSERT INTO T1 VALUES(1,3);
INSERT INTO T1 VALUES(2,4);
END;

- Ingreso de valores invertidos
DECLARE
a NUMBER;
b NUMBER;
BEGIN
SELECT e,f INTO a,b
FROM T1
WHERE e>1;
INSERT INTO T1 VALUES(a,b);
END;

-CONDICIONES IF
DECLARE
a INTEGER;
BEGIN
SELECT COUNT(*) INTO a
FROM T1;
IF a>1 THEN
 DBMS_OUTPUT.PUT_LINE('Hay mas de un registro');
ELSIF a = 3 THEN
 DBMS_OUTPUT.PUT_LINE('Hay un solo registro');
ELSE
 DBMS_OUTPUT.PUT_LINE('Hay menos de un registro');
END IF;
END;

- SACAMOS EL RESTO DE UNA VARIABLE

DECLARE
 a INTEGER;
BEGIN
 a:=15;
 IF mod(a,2)=0 THEN
  DBMS_OUTPUT.PUT_LINE('El numero es par');
 ELSE
  DBMS_OUTPUT.PUT_LINE('El numero es impar');
 END IF;
END;

-Con un select count y una varibale mensage  Y SACAMOS SI ES PAR O IMPAR
DECLARE
 a INTEGER;
 msg VARCHAR2(15);
BEGIN
 SELECT COUNT(*)INTO a
 FROM T1;
 IF mod(a,2)=0 THEN
  msg:='Numero Par';
 ELSE
  msg:='Numero Impar';
 END IF;
 DBMS_OUTPUT.PUT_LINE(msg);
END;

- Usando Loop y mostrando 10 veces hola mundo

DECLARE
 i INTEGER:=0;
BEGIN
LOOP
  DBMS_OUTPUT.PUT_LINE('Hola Mundo');
  i := i +1;
  EXIT WHEN i> 10;
END LOOP;
END;


No hay comentarios:

Publicar un comentario