Guía 9
Guía 9
Guía 9
Guía 9
Tecnologías
ADMINISTRACIÓN
DE BASE DE
DATOS.
Tema Nº9:
TEMA 01 PL/SQL V.
Programación Teoría de los
TEMA de
Indicador Nº9:
logro Nº9:
Construye programas, a través de procedimientos Almacenados.
1
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Programación PL/SQL V.
Subtema 9.1:
¿Qué es un Procedimiento Almacenado?
Un stored procedure es un procedimiento cuyo código se guarda en la base de datos y tiene como
objeto realizar una acción específica.
Su sintaxis es la siguiente:
CREATE OR REPLACE PROCEDURE <NOMBRE_PROCEDURE> (PARAMETROS)
IS
<DEFINICION_VARIABLES_LOCALES_DEL_PROCEDIMIENTO,>
BEGIN
<CODIGO_PLSQL>
. . . . . . . . . . . . . .
END;
Debemos especificar el tipo de datos de cada parámetro. Al especificar el tipo de dato del
parámetro no debemos especificar la longitud del tipo.
IN (Default):
Si un parámetro es IN (Entrada) no puede ser modificado en el transcurso del código PLSQL.
OUT:
Si un parámetro es OUT (Salida) siempre llega al código del stored procedure con el valor de
NULL y cuando termina el código de PLSQL el parámetro mantiene el valor de forma persistente.
IN OUT: (Entrada/Salida)
Es una combinación de ambos.
Subtema 9.2:
2
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Ejemplo 1:
Ejemplo Básico de Procedimiento Almacenado sin usar parámetros: realiza las operaciones básicas
entre dos valores y mostrar los resultados.
CREATE OR REPLACE PROCEDURE SP_OPERACIONES_BASICAS
IS
X NUMBER:=100; Y NUMBER:=50;
BEGIN
DBMS_OUTPUT.PUT_LINE ('SUMA :' || TO_CHAR(X+Y));
DBMS_OUTPUT.PUT_LINE ('RESTA :' || TO_CHAR(X-Y));
DBMS_OUTPUT.PUT_LINE (‘MULTIPLICACION :' || TO_CHAR(X*Y));
DBMS_OUTPUT.PUT_LINE ('DIVISION :' || TO_CHAR(X/Y));
END;
Resultado:
3
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Es aquel procedimiento que usa variables, después del nombre del procedimiento y entre paréntesis, en
modalidad de Entrada.
Ejemplo 2:
Ejemplo Básico de Procedimiento Almacenado usando parámetros de entrada de valores (IN): realiza las
operaciones básicas entre dos valores de entrada al procedimiento y mostrar los resultados.
CREATE OR REPLACE PROCEDURE SP_OPERACIONES_BASICAS2
(X IN NUMBER, Y IN NUMBER)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE ('==================================');
DBMS_OUTPUT.PUT_LINE ('OPERACIONS BASICAS');
DBMS_OUTPUT.PUT_LINE ('==================================');
DBMS_OUTPUT.PUT_LINE ('SUMA : ' || TO_CHAR(X+Y));
DBMS_OUTPUT.PUT_LINE ('RESTA : ' || TO_CHAR(X-Y));
DBMS_OUTPUT.PUT_LINE ('MULTIPLICACION : ' || TO_CHAR(X*Y));
DBMS_OUTPUT.PUT_LINE (‘DIVISION : ' || TO_CHAR(X/Y));
DBMS_OUTPUT.PUT_LINE ('==================================');
END;
Resultado:
4
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Ejemplo 3:
Ejemplo Básico de Procedimiento Almacenado usando parámetros de entrada y salida de valores
separados (IN - OUT): donde se realizan las operaciones básicas entre dos valores de entrada al
procedimiento y un valor de salida de datos como respuesta a los procesos, mostrando los
resultados.
Resultado:
6
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Ejemplo 4:
Ejemplo Básico de Procedimiento Almacenado usando parámetros de entrada/salida de modalidad
(IN OUT): donde se realiza la operación del área de un triángulo, con todos los parámetros de
entrada / salida el procedimiento pueden recepcionar y remitir valores, mostrando los resultados.
Resultado:
7
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Semana11_PL_SQL_2.sql
Ejemplo 5:
Se desea crear un procedimiento almacenado, el cual permita el filtrado de libros, solicitándolas por
el área del mismo libro y estas son: LPROG, ANALISIS, ARTE, LIDEREAZGO.
SOLUCION:
8
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Resultado:
9
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
Ejemplo 6:
Se tiene la tabla TRABAJADOR, con los siguientes datos:
10
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
VERIFICANDO
12
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
La codificación PL/SQL de Oracle es tan amplia, que ofrece a los estudiantes una alta gama de
alternativas para la resolución de problemas en procedimientos y funciones, no difíciles de
13
Escuela de Administración de Base de Datos
Guía 9
Tecnologías
entender, con la prioridad de manejar los datos con suma responsabilidad por el programador en
base de datos Oracle.
ACTIVIDAD VIRTUAL
Revisar y analizar el material presentado del Tema 09.
RESOLVER:
Crear las siguientes Procedimientos Almacenados en PL/SQL y probarlas.
1. Los libros de LPROG, tendrán un incremento del 15% en sus precios, proceda a actualizar la
tabla libros que cumplan esta condición.
2. Todos los trabajadores reciben un incremente en su sueldo en un 20%, proceda a actualizar
la tabla trabajadora que cumplan esta condición.
3. Mediante un procedimiento almacenado se pide mostrar los productos, precio, cantidad e
importes de cualquier comprobante de pago.
14