sábado, 24 de marzo de 2012

Clase 24 de Marzo

--PPT 1 PL SQL--
--ejercicio pagina 14 ppt plsql--

create table t1(e number, f number);

insert into t1 values(1, 3);
insert into t1 values(2, 4);

select * from t1;

DECLARE    
   a NUMBER;    
   b NUMBER;
BEGIN    
   SELECT e,f INTO a,b FROM T1 WHERE e>1;    
   IF b=1 THEN        
        INSERT INTO T1 VALUES(b,a);    
   ELSE        
        INSERT INTO T1 VALUES(b+10,a+10);    
   END IF;
END;

--para ejecutar denuevo este programa, se selecciona y se ejecuta, ya que es un programa anonimo
--el programa ya no funciona, por que el select despues del begin, tiene q retornar solo una fila
--y ya existen 2 filas con e>1--


--escribir hola mundo 10 veces--

DECLARE
contador integer :=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('HOLA MUNDO ' || contador);
contador:= contador+1;
EXIT WHEN contador > 10;
END LOOP;
END;


-- otra forma de contador --

BEGIN
FOR contador IN REVERSE 1..100
LOOP
DBMS_OUTPUT.PUT_LINE('hola cauro ' || contador);
END LOOP;
END;

--ciclo while

DECLARE
contador integer:= 1;
BEGIN
WHILE contador <= 10
LOOP
DBMS_OUTPUT.PUT_LINE('hola MUNDO ' || contador);
contador:= contador+1;
END LOOP;
END;


DECLARE
i integer;
BEGIN
i:= 1;
WHILE i <= 5
LOOP
DBMS_OUTPUT.PUT_LINE('HOLA ' || i);
i:= i+1;
END LOOP;
END;



--PPT 2 PLSQL FUNCIONES INTERNAS--

--TABLA DUAL DE ORACLE--

SELECT UPPER('hola') FROM DUAL;

SELECT SYSDATE FROM DUAL;

-- MOSTRAR EL DIA DE LA FECHA ACTUAL--
SELECT
to_char(SYSDATE),'day')
from dual;

--CONOCER EL DIA DE NACIMIENTO A PARTIR DE UNA FECHA. SE CONVIERTE EL STRING FECHA A TIPO FECHA--

SELECT TO_CHAR(TO_DATE('12-JUL-1987', 'DD-MON-YYYY'), 'DAY')
FROM DUAL;

SELECT TO_CHAR(TO_DATE('12-07-1987', 'DD-MM-YYYY'), 'DAY')
FROM DUAL;

-- CAMBIAR NOMBRE DE COLUMNA--
SELECT TO_CHAR(TO_DATE('12-07-1987', 'DD-MM-YYYY'), 'DAY') AS "FECHA DE NACIMIENTO"
FROM DUAL;

--activando usuario hr--

select * from employees;

select count(*) from employees;

DESCRIBE employees;

--EL ATRIBUTO ID TOMA EL MISMO TIPO DEL ATRIBUTO EMPLOYESS_ID DE LA TABLA EMPLOYEES--

DECLARE
id EMPLOYEES.EMPLOYEE_ID%TYPE;
BEGIN
NULL;
END;

--CONOCER EL NUMERO DE FILA QUE TIENEN LOS EMPLEADOS DE LA TABLA EMPLOYEES--
SELECT ROWNUM, FIRST_NAME FROM EMPLOYEES;

-- INSERTAR NUMEROS ALEATORIOS --
create table tx (x int,y varchar(5));

insert into tx
select rownum, trunc(dbms_random.value(1,99999))
from dual
connect by rownum <= 10;

select * from tx;


No hay comentarios:

Publicar un comentario