Está en la página 1de 14

Diseño y Desarrollo de Software

BASES DE DATOS AVANZADAS

LABORATORIO N° 11

PLSQL Variables

Alumno(s)
Nota
(Apellidos, Nombres)
Boza Nilda

Grupo “A”
Ciclo IV
Fecha de entrega 14/11/2023
Bases de Datos Avanzadas

Laboratorio 11
Objetivos:
Al finalizar el laboratorio el estudiante será capaz de:
• Crear bloques anónimos en PLSQL
• Declarar variables

Seguridad:

• Ubicar maletines y/o mochilas en el gabinete del aula de Laboratorio.


• No ingresar con líquidos, ni comida al aula de Laboratorio.
• Al culminar la sesión de laboratorio apagar correctamente la computadora y la pantalla, y ordenar las sillas
utilizadas.

Equipos y Materiales:

• Una computadora con:


• Windows 7 o superior
• Instalador del software SQLDeveloper
• Instalador del software oracleXE

FUNDAMENTO TEORICO

1. Estructura de un Bloque PL/SQL

PL/SQL es un lenguaje estructurado en Bloques (Los programas se dividen en Bloques Lógicos). Un bloque consiste en
3 secciones (declarativa, Ejecutable y manejo de errores):

DECLARE
Variables, Cursores, excepciones definidas por el usuario (Sección de Declaración)
BEGIN
Instrucciones SQL (Sección Ejecutable)
EXCEPTION
Acciones a realizar cuando ocurre un error (Sección de Manejo de Excepciones)
END;

NOTA:
• Las secciones de manejo de excepciones y de declaración son opcionales.
• Los bloques pueden contener otros bloques (sub-bloques)
• Los comentarios van entre /* */. Si no ocupan más de una línea, se pueden escribir después de “--“ (dos guiones).
2. Uso de Variables
Las variables se pueden emplear para:
• Almacenamiento temporal de datos
• Manipulación de valores almacenados
• Reutilización
• Mantenibilidad
En la sección declarativa se declaran e inicializan
En la sección de ejecución se pueden asignar nuevos valores a las variables
Las declaraciones pueden asignar un valor inicial e imponer la restricción NOT NULL sobre la variable

Guía de Laboratorio No 11 Pág. 2


Bases de Datos Avanzadas

3. Tipos de Datos Escalares


• CHAR
• VARCHAR2
• LONG
• LOG RAW
• NUMBER
• BINARY_INTEGER
• BOOLEAN

PROCEDIMIENTO

A. Abrir Oracle APEX O Inicie ORACLE SQL DEVELOPER


1. Iniciar sesión empleando la cuenta de usuario.
2. Seleccione la ficha de comandos.

En caso trabajemos con ORACLE SQL DEVELOPER


1. Abra su terminal SQL y en primer lugar escriba:

Set serveroutput on;

B. Bloques PL/SQL:

1.- Realizar “Hello World” con PL/SQL. Introduzca el código y luego ejecute F5 y el SQL Developer debe
mostrarle la pantalla indicada abajo:
BEGIN
DBMS_OUTPUT.PUT_LINE(' Hello World ');
END;

Guía de Laboratorio No 11 Pág. 3


Bases de Datos Avanzadas

2.- Realizar un bloque PL/SQL que permita mostrar por pantalla la frase “Bienvenido a PL/SQL” y escriba la sentencia:
Sentencia:
BEGIN
DBMS_OUTPUT.PUT_LINE('Bienvenido a PL/SQL');
END;
Resultado:

Guía de Laboratorio No 11 Pág. 4


Bases de Datos Avanzadas

3.- Muestre su nombre haciendo uso de bloque PL/SQL y escriba la sentencia:


Sentencia:
DECLARE
mi_nombre VARCHAR2(50);
BEGIN
mi_nombre := ‘Nilda Boza Collanque';
DBMS_OUTPUT.PUT_LINE('Mi nombre es: ' || mi_nombre);
END;
Resultado:

D. Variables en PL/SQL
La sección de declaración de variables se define en la sección DECLARE ejemplo:
DECLARE
mivar <tipo_dato>
Los tipos de datos en Oracle Database en PLSQL: CHAR, VARCHAR, NUMBER, BINARY_INTEGER:

PLSQL_INTEGER, BOOLEAN, BINARY_FLOAT, BINARY_DOUBLE

Guía de Laboratorio No 11 Pág. 5


Bases de Datos Avanzadas

DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE.

TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND

Guía de Laboratorio No 11 Pág. 6


Bases de Datos Avanzadas

Guía de Laboratorio No 11 Pág. 7


Bases de Datos Avanzadas

Ejemplo 1

Ejemplo 2

Guía de Laboratorio No 11 Pág. 8


Bases de Datos Avanzadas

1. Declarar el identificador v_id del tipo number y escriba la misma líneas abajo:

Consulta:
DECLARE
v_id NUMBER;
BEGIN
v_id := 123;
DBMS_OUTPUT.PUT_LINE('El valor de v_id es: ' || v_id);
END;
Resultado:

2. Declarar los identificadores v_x, v_y,v_z como texto y asignarle como valores sus nombres completos, apellido
paterno y materno respectivamente y escriba la misma líneas abajo:

Consulta:
DECLARE
v_x VARCHAR2(50) := 'Nilda';
v_y VARCHAR2(50) := 'Boza';
v_z VARCHAR2(50) := 'Collanque';
BEGIN
DBMS_OUTPUT.PUT_LINE('Nombre Completo: ' || v_x);
DBMS_OUTPUT.PUT_LINE('Apellido Paterno: ' || v_y);
DBMS_OUTPUT.PUT_LINE('Apellido Materno: ' || v_z);
END;

Guía de Laboratorio No 11 Pág. 9


Bases de Datos Avanzadas

3. Identificar si la declaración de variable es correcta y si no lo es indique el porque


v_days_to_go := v_due_date = SYSDATE;

En la consulta mostrada no se declare la variable v_days_to_go, para declarer la variable se debe


hacer lo siguiente
DECLARE
v_due_date DATE := SYSDATE;
v_days_to_go NUMBER;

4. Identificar si la declaración de variable es correcta y si no lo es indique el porque


v_sum:= 100000 + 200000

La variable si se declaro correctamente ya que se declaro un numero implicito y se le asigna


el resultado de la suma

5. Identificar si la declaración de variable es correcta y si no lo es indique el porque


v_flag :=True;

No es la correcta ya que los valores booleanos se asignan utilizando := con TRUE o FALSE, pero no con mayúsculas

6. Identificar si la declaración de variable es correcta y si no lo es indique el porque


v_value := NULL;

La declaración es la correcta ya que se está indicando un valor que no esta definido

Guía de Laboratorio No 11 Pág. 10


Bases de Datos Avanzadas

E. Aplicando variables a los bloques PL/SQL

1.- Ejecutar el código del siguiente bloque PL/SQL en SQL DEVELOPER


DECLARE
v_myName VARCHAR2(20):= 'John';
BEGIN
DBMS_OUTPUT.PUT_LINE('My name is: '|| v_myName);
v_myName := 'Steven';
DBMS_OUTPUT.PUT_LINE('My name is: '|| v_myName);
END;
Muestre el resultado:

Guía de Laboratorio No 11 Pág. 11


Bases de Datos Avanzadas

2.- Realice un bloque anónimo que tenga como salida y escríbalo líneas abajo:

Consulta:
SET SERVEROUTPUT ON;
DECLARE
v_today DATE := TO_DATE('05-JUN-09', 'DD-MON-RR');
v_tomorrow DATE := v_today + 1;
BEGIN
-- Imprimir mensaje
DBMS_OUTPUT.PUT_LINE('anonynous block conpleted');
DBMS_OUTPUT.PUT_LINE('Kello World');
DBMS_OUTPUT.PUT_LINE('TODAY IS : ' || TO_CHAR(v_today, 'DD-MON-YY'));
DBMS_OUTPUT.PUT_LINE('TOMORROW IS : ' || TO_CHAR(v_tomorrow, 'DD-MON-YY'));
END;
/
Resultado

Guía de Laboratorio No 11 Pág. 12


Bases de Datos Avanzadas

OBSERVACIONES Y CONCLUSIONES

Observaciones:

• Se destaca la importancia de la declaración de variables en PL/SQL para la estructuración


eficiente de bloques de código, proporcionando un medio organizado para almacenar y
manipular datos.
• La función DBMS_OUTPUT.PUT_LINE se evidencia como una herramienta valiosa para
imprimir mensajes y resultados de manera efectiva en la consola de salida durante la
ejecución del código.
• La precisión en la manipulación de tipos de datos se presenta como un elemento crucial para
prevenir errores y asegurar la coherencia de los resultados en el desarrollo de código
PL/SQL.
• La definición cuidadosa de variables, incluyendo su tipo y tamaño, no solo previene posibles
errores, sino que también mejora la legibilidad y facilita tareas de mantenimiento.
• El uso adecuado de funciones y procedimientos disponibles en PL/SQL, como
DBMS_OUTPUT.PUT_LINE, se concluye como una práctica que simplifica la
visualización de resultados de manera efectiva.

Conclusiones:

• En síntesis, la correcta definición de variables no solo evita errores, sino que también
contribuye a la claridad del código y facilita las labores de mantenimiento.
• La utilización efectiva de funciones y procedimientos en PL/SQL, como
DBMS_OUTPUT.PUT_LINE, se confirma como una estrategia que mejora la presentación
visual de resultados en la consola.
• La atención meticulosa a la sintaxis al declarar variables, asignar valores y realizar
operaciones se subraya como esencial para garantizar la ejecución fluida del código y evitar
posibles errores.
• Se concluye que la adecuada manipulación de tipos de datos en PL/SQL es fundamental
para asegurar la coherencia y fiabilidad de los resultados obtenidos.
• En última instancia, se reitera la importancia de la precisión en la sintaxis como un elemento
clave para una ejecución correcta del código, previniendo posibles contratiempos y errores.

Guía de Laboratorio No 11 Pág. 13


Bases de Datos Avanzadas

Guía de Laboratorio No 11 Pág. 14

También podría gustarte