Está en la página 1de 8

Universidad Nacional Autónoma de México

Facultad de Ingeniería
Ingeniería en Computación
Laboratorio de Bases de Datos
Practica 12: Programación con PL SQL.
Fecha de entrega: 1 de diciembre 2021
Del Valle Aragón Alexis Rafael

2. Introducción:
PL SQL es un lenguaje de procedimientos diseñado específicamente para abarcar
sentencias SQL dentro de su sintaxis. El servidor de Oracle compila las unidades de
programa PL SQL y estas se almacenan dentro de la base de datos. PL/SQL soportará
todas las consultas, ya que la manipulación de datos que se usa es la misma que en
SQL incluyendo nuevas características.

En un entorno de base de datos los programadores pueden construir bloques PL/SQL


para utilizarlos como procedimientos o funciones, o bien pueden escribir estos
bloques como parte de scripts.

Parte de los tipos de bloques son:

➢ Anónimos
➢ Subprogramas
➢ Procedimientos
➢ Paquetes
➢ Disparadores

1
3. Objetivos, métodos y materiales:
El alumno comprenderá los principales conceptos, así como la estructura básica para
realizar la construcción de scripts SQL empleando las extensiones de programación SQL
ofrecidas por los manejadores. Aplicará los conceptos referentes a disparadores para
reflejar la integridad de la información y hará uso de funciones creadas por el usuario.

➢ Oracle

4. Desarrollo y resultados:
▪ Imprimimos la cadena Hola Mundo

declare
begin
DBMS_OUTPUT.put_line('Hola Mundo');
end;
/

▪ Declaramos una variable y la imprimimos.


DECLARE
v_mensaje VARCHAR2(100):='Hola Mundo';

begin
DBMS_OUTPUT.put_line(v_mensaje);
end;
/

▪ Mandar a llamar un valor con & y la imprimimos:


Declare V_NOM VARCHAR2(20):= '&NOMBRE';
BEGIN
DBMS_OUTPUT.put_line('HOLA ' || V_NOM);
END;
/

2
▪ Creamos una tabla e insertamos datos:
Create table Equipo(
id number(3),
Placa_Base Varchar2(20),
Vendedor Varchar(15),
Constraint PK_Equipo Primary key(id)
);

Insert Into Equipo Values(1,'ASUS','JUAN');


Insert Into Equipo Values(2,'AMD','JUAN');
Insert Into Equipo Values(3,'AMD','JUAN');
Insert Into Equipo Values(4,'ASUS','ANGEL');
Insert Into Equipo Values(5,'INTEL','ANGEL');
Insert Into Equipo Values(6,'ASUS','ANGEL');
Insert Into Equipo Values(7,'ASUS','WENDY');
Insert Into Equipo Values(8,'RYZEN','ANGEL');

▪ Realizamos consultas:

Declare
V_ID Number(6):='&id';
V_Placa_Base Varchar2(20);
V_Vendedor Varchar(15);

3
Begin
Select Placa_Base, Vendedor
Into V_Placa_Base, V_Vendedor
From equipo
where id=V_id;
DBMS_OUTPUT.put_line(' ');
DBMS_OUTPUT.put_line(V_ID || 'La marca de procesador es ' || V_Placa_Base || '
y su vendedor es ' || V_Vendedor);
End;
/

▪ Con funciones imprimir el total de equipos:


Declare
V_Total_Equipos number(2);

Begin
Select Count(*) into V_Total_Equipos from equipo;
DBMS_OUTPUT.put_line('El total de equipos es: ' || V_Total_Equipos);
End;
/

▪ Creamos un procedimiento y lo ejecutamos:


Create or replace procedure Detalle(P_id number)
AS
V_Placa_Base Varchar2(20);
V_Vendedor Varchar(15);

Begin
Select Placa_Base, Vendedor
into V_Placa_Base, V_Vendedor

4
from equipo
where id=P_id;
DBMS_OUTPUT.put_line(' ');
DBMS_OUTPUT.put_line(P_id || 'Su marca de procesador es ' || V_Placa_Base ||
'Su vendedor es ' || V_Vendedor);
End;
/

Exec Detalle(1);
Exec Detalle(7);
Exec Detalle(8);

▪ CON UN PROCEDIMIENTO MOSTRAMOS EL TOTAL DE INTEGRANTES EN EL EQUIPO:


Create or replace procedure Total(P_vendedor Varchar)
AS
V_Total_Equipos Number(2);

Begin
Select Count(*)
into V_Total_Equipos
from equipo
where vendedor = P_vendedor;
DBMS_OUTPUT.put_line(' ');
DBMS_OUTPUT.put_line('Total de equipòs: ' || V_total_Equipos);
End;
/

Exec Total('ANGEL');

5
▪ Disparadores: Guardamos los registros de interacción de usuarios:
▪ Creamos la tabla mov:
Create table mov(
Tipo varchar(20),
usuario varchar(20),
fecha timestamp);

▪ Creamos el disparador:
Create or replace trigger Auditor
Before Insert or Update or Delete on Equipo
For each row
Declare

Begin
If Inserting then
Insert into mov values('Inserto',User,Sysdate);
Elsif Updating then
Insert into mov values('Actualizo',User,Sysdate);
Elsif Deleting then
Insert into mov values('Elimino',User,Sysdate);
End if;
End;
/

6
▪ Interactuamos y observamos la tabla mov:
Insert into Equipo Values(9,'RYZEN', 'WENDY');
Insert into Equipo Values(10,'INTEL','WENDY');

UPDATE EQUIPO SET VENDEDOR = 'WENDI'


WHERE VENDEDOR='WENDY';

DELETE FROM EQUIPO WHERE ID=1;

5. Conclusión:
Aprendimos las bases de la estructura de programación PL SQL, que se refiere a la
implementación de la programación lineal a toda la metodología vista de bases de datos. Al
generar los resultados de los ejemplos anteriores podemos identificar que se trata de un
resultado simplificado para el usuario final. Además, aunque sea un poco mas difícil de
comprender se trata de una metodología mas simple, pues se pueden integrar los elementos
básicos como condicionales, ciclos, casos, impresión, etc.

7
6. Bibliografía.

Oracle JDBC. (s.f.). Oracle JDBC. Obtenido de


https://www.oracle.com/mx/database/technologies/appdev/plsql.html

Índice
1- Portada ...................................................................................................................................... 1
2- Introducción............................................................................................................................... 1
3- Objetivo, métodos y materiales ................................................................................................. 2
4-Desarrollo ................................................................................................................................... 2
5- Conclusión ................................................................................................................................. 7
6- Bibliografía ................................................................................................................................ 8

También podría gustarte