--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