EJERCICIOS RESUELTOS #2 PL/SQL ORACLE
1 – Escriba un bloque PL/SQL declarando una variable del tipo
varchar2 que soporte la siguiente frase: “Esta es una variable varchar2”
SET SERVEROUTPUT ON
DECLARE
VAR_VARIABLE VARCHAR2(30);
BEGIN
VAR_VARIABLE := ('Esta es una variable varchar2');
DBMS_OUTPUT.PUT_LINE(VAR_VARIABLE);
END;
2 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar el número 002233. Tiene que aceptar ceros a la
izquierda.
SET SERVEROUTPUT ON
DECLARE
VAR_VARIABLE VARCHAR2(6);
BEGIN
VAR_VARIABLE :='002233';
DBMS_OUTPUT.PUT_LINE(VAR_VARIABLE );
END;
3 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar el número 002233. No tiene que aceptar ceros a
la izquierda.
SET SERVEROUTPUT ON
DECLARE
VAR_NUMERO NUMBER(6);
BEGIN
VAR_NUMERO :='002233';
DBMS_OUTPUT.PUT_LINE(VAR_NUMERO);
END;
4 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar el número -9.999999E-130.
SET SERVEROUTPUT ON
DECLARE
VAR_CHAR CHAR(17);
BEGIN
VAR_CHAR :='-9.999999E-130';
DBMS_OUTPUT.PUT_LINE(VAR_CHAR);
END;
5 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar la fecha y hora del sistema en formato
timestamp.
SET SERVEROUTPUT ON
DECLARE
VAR_FECHA TIMESTAMP(9);
BEGIN
VAR_FECHA := SYSTIMESTAMP;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(VAR_FECHA));
END;
6 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar la fecha del sistema en formato dd/mm/yyyy.
SET SERVEROUTPUT ON
DECLARE
VAR_FECHA DATE;
BEGIN
VAR_FECHA := SYSDATE;
DBMS_OUTPUT.PUT_LINE(TO_CHAR(VAR_FECHA,'DD/MM/YYYY'));
END;
7 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar la fecha del sistema en formato mm/dd/yy.
SET SERVEROUTPUT ON
DECLARE
VAR_FECHA DATE;
BEGIN
VAR_FECHA := SYSDATE;
DBMS_OUTPUT.PUT_LINE(TO_CHAR(VAR_FECHA,'MM/DD/YY'));
END;
8 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar la fecha y hora del sistema en formato
dd/mm/yyyy hh:mm:ss. En formato de 12 hs. (AM/PM).
SET SERVEROUTPUT ON
DECLARE
V_DATE DATE;
BEGIN
V_DATE := SYSDATE;
END;
9 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar el primer registro de la tabla DEPARTMENTS
ordenado por department_id
set serveroutput on
DECLARE
v_departments DEPARTMENTS%ROWTYPE;
BEGIN
SELECT * INTO v_departments FROM departments
WHERE ROWNUM = 1
order by department_id;
DBMS_OUTPUT.PUT_LINE('DEPARTMENT_ID:'||' '||v_departments.DEPARTMENT_ID||' '||
'DEPARTMENT_NAME:'||' '||v_departments.DEPARTMENT_NAME||' '||
'MANAGER_ID:'||' '||v_departments.MANAGER_ID||' '||
'LOCATION_ID:'||' '||v_departments.LOCATION_ID);
END;
10 – Escriba un bloque PL/SQL con una variable del tipo que crea
conveniente para mostrar el primer nombre de departamento de la tabla
DEPARTMENTS ordenado por department_id
SET SERVEROUPUT ON
DECLARE
V_DEPARTAMENT_NAME DEPARTMENTS.DEPARTMENT_NAME%TYPE;
BEGIN
SELECT DEPARTMENT_NAME INTO V_DEPARTAMENT_NAME FROM
DEPARTMENTS
WHERE ROWNUM = 1
ORDER BY DEPARTMENT_ID;
DBMS_OUTPUT.PUT_LINE('DEPARTMENT_NAME:'||'
'||V_DEPARTAMENT_NAME);
END;
11 - Escriba un bloque PL/SQL con un subtipo definido por el usuario
que muestre el mensaje “Este subtipo ha sido definido por el usuario”
SET SERVEROUTPUT ON
DECLARE
SUBTYPE V_WORD IS VARCHAR2(44) NOT NULL;
VERB V_WORD := 'ESTE SUBTIPO HA SIDO DEFINIDO POR EL USUARIO';
BEGIN
DBMS_OUTPUT.PUT_LINE (VERB);
END;