Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas...
Transcript of Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas...
![Page 1: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/1.jpg)
![Page 2: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/2.jpg)
![Page 3: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/3.jpg)
![Page 4: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/4.jpg)
![Page 5: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/5.jpg)
Cadena de caracteres
Numéricas
Fecha y hora
Booleanas
Tipo registro
Tipo cursor
![Page 6: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/6.jpg)
Declaración de variables
Inicialización de variables
Declaración de constantes
Asignación de valores a variables
![Page 7: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/7.jpg)
Nombre_var
Tipo
NUMBER (longitud, decimales);
VARCHAR2 (long máx);
DATE;
impuesto NUMBER(10,2);
nombre VARCHAR2(40);
fecha_venta DATE;
Ejemplos:
![Page 8: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/8.jpg)
Se puede declarar una variable e inicializarla en la
misma sección de declaración.
nombre_var tipo_var : = valor;
impuesto NUMBER(10,2) := 436.50;
fecha_actual DATE := SYSDATE;
ciudad VARCHAR2(10) := ‘Florencia’;
![Page 9: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/9.jpg)
nombre_constante COSTANT tipo := valor;
Debes inicializar las constantes, después de
lo cual el valor de las constantes no puede
cambiar.
pi CONSTANT NUMBER(9,7) := 3.1415927;
![Page 10: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/10.jpg)
variable := valor;
variable := expresión;
nombre := ‘Petronilo’;
sueldo := 10000000;
fecha_venta := ’01/01/05’;
total := cantidad * precio;
![Page 11: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/11.jpg)
Los parámetros son espacios de memoria
similares a las variables, en ellos se almacenan
datos de forma temporal.
Un parámetro es un valor que se utiliza en un
procedimiento almacenado o en una función, para
enviarle a ese bloque de código un valor que
viene del usuario o de otro programa.
También se usan para almacenar datos
generados por el propio sistema.
![Page 12: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/12.jpg)
Por lo tanto, vamos a tener los siguientes tipos de
parámetros:◦ Entrada IN
◦ Salida OUT
◦ Entrada y salida IN/OUT
![Page 13: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/13.jpg)
Los parámetros usan los mismos tipos de datos
que las variables y las constantes, con la
diferencia de que al declarar los parámetros no se
indica la longitud del tipo de dato.
![Page 14: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/14.jpg)
CREATE OR REPLACE PROCEDURE renta_pelicula
(fecha IN DATE, socio IN NUMBER, titulo IN NUMBER,
copia IN NUMBER, dev IN DATE) AS
BEGIN
INSERT INTO renta (fecha_renta, id_socio, id_titulo, id_copia,
fecha_devolucion) VALUES (fecha, socio, titulo, copia, dev);
UPDATE copia_titulo SET estatus = ‘RENTADO’
WHERE id_titulo = titulo and id_copia = copia;
END;
--------------------------------------------------------------------------------------------
BEGIN renta_pelicula (sysdate, 4, 3, 1, sysdate +2);
END;
![Page 15: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/15.jpg)
FECHA_RE ID_SOCIO ID_COPIA FECHA_EN FECHA_DE ID_TITULO
-------- ---------- ---------- -------- -------- ----------
20/07/05 2 3 22/07/05 22/07/05 3
27/07/05 6 1 30/07/05 29/07/05 1
28/07/05 1 3 30/07/05 3
28/07/05 1 1 30/07/05 2
20/07/06 4 1 22/07/06 3
![Page 16: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/16.jpg)
ID_COPIA ID_TITULO ESTATUS
---------- ---------- ---------------
1 1 DISPONIBLE
2 1 DISPONIBLE
1 2 RENTADO
2 2 DISPONIBLE
1 3 DISPONIBLE
2 3 DISPONIBLE
3 3 RENTADO
1 4 DISPONIBLE
2 4 DISPONIBLE
ID_COPIA ID_TITULO ESTATUS
---------- ---------- ---------------
1 1 DISPONIBLE
2 1 DISPONIBLE
1 2 RENTADO
2 2 DISPONIBLE
1 3 RENTADO
2 3 DISPONIBLE
3 3 RENTADO
1 4 DISPONIBLE
2 4 DISPONIBLE
![Page 17: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/17.jpg)
Para mostrar datos en la salida estándar se utiliza
el procedimiento:DBMS_OUTPUT.PUT_LINE
Antes de usarlo en cualquier bloque PL/SQL se
deberá habilitar la configuración de entorno por
medio de la instrucciónSET SERVEROUTPUT ON
![Page 18: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/18.jpg)
Operadores aritméticos: símbolos utilizados para definir operaciones matemáticas que se
aplican a los datos. + - * /
Operadores relacionales: Definen los estados de comparación u opción.
< > <= >= = <>
![Page 19: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/19.jpg)
Las expresiones son una composición de
operandos y operadores.
En el caso de una expresión matemática el
operando es el número y el operador es el
símbolo como un signo de + o de - que actúa en
el operando.
Una expresión sólo retorna un valor.
Ejemplo: 1 + 2
![Page 20: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/20.jpg)
1. ( )
2. ^
3. * y /
4. + y -
Las expresiones con paréntesis anidados se evalúan de adentro hacia afuera
Los operadores en una misma expresión con igual nivel de prioridad se ejecutan de izquierda a derecha.
![Page 21: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/21.jpg)
4 + 2 * 5 Primero se evalúa la multiplicación,
luego la suma
Evaluar:
◦3 + 5 * (10-(2+4))
◦ (9+3) * 5 / 7+1
![Page 22: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/22.jpg)
Se deben escribir en forma lineal
Fórmula:
y2-y1m = x2 –x1
Expresión:
m := (y2-y1) / (x2-x1)
Fórmula: 5__ Expresión: 5/ (1+ X*X)
1+X2
![Page 23: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/23.jpg)
Las sentencias describen las acciones
algorítmicas que pueden ser ejecutadas.
Clasificación:◦ Sentencias ejecutables (especifican operaciones de
cálculos aritméticos y entrada y salida de datos)
◦ No ejecutables (no realizan acciones concretas, ayudan
a la legibilidad del programa pero no afectan en la
ejecución del programa)
![Page 24: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/24.jpg)
Por su tipo y número se clasifican en:
Simples: ◦ De asignación
◦ Goto
Estructuras: ◦ Compuesta
◦ Condicional
◦ Repetitiva
![Page 25: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/25.jpg)
Variable : = expresión;
Ejemplos:◦ A :=16; 16 se asigna a la variable A
◦ Inicial := ‘LJ’; LJ se asigna a la variable inicicial
◦ Interruptor := true; true se asigna a la variable interruptor
◦ N1 := N2; El valor de N1 se cambia por el valor de N2
◦ N1 := N1+5; El valor de N1 se modifica incrementándose en 5
◦ Car := #70 Se asigna a la variable Car el carácter 70 del código ASCII (F)
![Page 26: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/26.jpg)
Contador.- Variable que se incrementa, cuando se
ejecuta en una unidad o cantidad constante.
Contador := 25;
Contador := contador + 5;
Acumulador.- Es una variable que se incrementa
en una cantidad variableSuma := suma + x;
![Page 27: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/27.jpg)
![Page 28: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/28.jpg)
Los identificadores proveen de un nombre de
referencia a los objetos PL/SQL como las
variables y los cursores, y a los objetos de la base
de datos como los procedimientos, funciones y
paquetes.
El identificador permite hacer referencia al objeto
por su nombre
![Page 29: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/29.jpg)
Los nombres deben tener una longitud de 30
caracteres o menos
Los nombres deben comenzar con una letra
Los nombres pueden contener alguno de los
siguientes caracteres, siempre que no vayan al
inicio del nombre: $, #, _ y algún número.
Los nombres no pueden contener signos de
puntuación, espacios o guiones
![Page 30: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/30.jpg)
My_procedimiento
Variable1
Cursor_#1
Funcion_4_5
![Page 31: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/31.jpg)
My-procedimiento
1Variable
Cursor #1
Funcion_@_nombre
![Page 32: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/32.jpg)
Caracteres en mayúsculas y minúsculas
Todos los dígitos del 0 al 9
Los símbolos
() + - * / < > = ! ; : . @ % , ‘ # $ ^ & _ { } [ ] ?
![Page 33: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/33.jpg)
![Page 34: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/34.jpg)
Los caracteres especiales son identificadores que
PL/SQL interpreta como comandos o que tienen
otro propósito especial.
![Page 35: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/35.jpg)
Las palabras reservadas son identificadores que
Oracle tiene para uso interno.
Si se usan en el desarrollo de una aplicación,
Oracle las interpreta como las ha definido Oracle,
no de acuerdo a nuestra definición.
No se deben usar para otros propósitos como
nombres de variables
![Page 36: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/36.jpg)
En caso de que se requiera usar una palabra
reservada para nombre de una variable, se puede
agregar un prefijo
Por ejemplo v_begin
![Page 37: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/37.jpg)
Tema 2.3
![Page 38: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/38.jpg)
%TYPE atributo que captura el tipo de dato y
longitud de una columna de una tabla.
%ROWTYPE atributo que se usa para declarar
variables registro que capturan toda la estructura
de una tabla (nombres de campo, tipos y
longitudes).
![Page 39: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/39.jpg)
PROCEDIMIENTO PARA INSERTAR PRODUCTOS
CREATE OR REPLACE PROCEDURE inser_prod(
prod IN productos.id_prod%type,
desc IN productos.descripcion%type,
prec IN productos.precio_u%type,
exis IN productos.existencia%type,
reord IN productos.reorden%type) AS
BEGIN
INSERT INTO productos VALUES ( prod, desc, prec, exis,
reord);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error al grabar el registro');
END;
![Page 40: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/40.jpg)
*** EJECUCIÓN DEL PROCEDIMIENTO ******
BEGIN
inser_prod(6,'monitor',2198.20,99,50);
END;
![Page 41: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/41.jpg)
CREATE OR REPLACE PROCEDURE insertaproducto
(producto_rec IN productos% ROWTYPE) AS
BEGIN
INSERT INTO productos VALUES
(producto_rec.id_prod, producto_rec.descripcion,
producto_rec.precio_u, producto_rec.existencia,
producto_rec.reorden);
COMMIT;
END;
![Page 42: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/42.jpg)
CREATE OR REPLACE PROCEDURE consul_art (clave IN articulos.clave_art%TYPE) IS
regart articulos%ROWTYPE;BEGIN
SELECT * INTO regart FROM articulos WHERE clave_art = clave;
DBMS_OUTPUT.PUT_LINE ('CLAVE: ' || regart.clave_art);DBMS_OUTPUT.PUT_LINE ('NOMBRE: ' || regart.nombre_art); DBMS_OUTPUT.PUT_LINE ('DESCRIPCIÓN: ' ||
regart.descripcion);EXCEPTION
WHEN OTHERS THENDBMS_OUTPUT.PUT_LINE ('NO ES POSIBLE REALIZAR LA
CONSULTA');END;
![Page 43: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/43.jpg)
BEGIN
consul_art (100);
END;
![Page 44: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/44.jpg)
CREATE OR REPLACE PROCEDURE consul_art (clave IN Articulos.clave_art%TYPE) IS
nombre_var articulos.nombre%TYPE;descr_var articulos.descripcion%TYPE;
BEGINSELECT nombre, descripcion INTO nombre_var, descr_var
FROM articulos WHERE clave_art = clave;DBMS_OUTPUT.PUT_LINE ('CLAVE: ' || clave);DBMS_OUTPUT.PUT_LINE ('NOMBRE: ' || nombre_var); DBMS_OUTPUT.PUT_LINE ('DESCRIPCIÓN: ' || descr_var);
EXCEPTIONWHEN OTHERS THENDBMS_OUTPUT.PUT_LINE ('NO ES POSIBLE REALIZAR LA
CONSULTA');END;
![Page 45: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/45.jpg)
CREATE OR REPLACE PROCEDURE renta_pelicula
(fecha IN DATE, socio IN NUMBER, titulo IN NUMBER,
copia IN NUMBER, dev IN DATE) AS
BEGIN
INSERT INTO renta (fecha_renta, id_socio, id_titulo,
id_copia, fecha_devolucion)
VALUES (fecha, socio, titulo, copia, dev);
UPDATE copia_titulo SET estatus = 'RENTADO'
WHERE id_titulo = titulo and id_copia = copia;
END;
![Page 46: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/46.jpg)
CREATE OR REPLACE PROCEDURE midifica_pelicula
(p_id_titulo IN NUMBER, p_precio IN NUMBER) AS
BEGIN
UPDATE titulo SET precio = p_precio
WHERE id_titulo = p_id_titulo;
COMMIT;
END;
![Page 47: Procedimientos en PL/SQL - serchlg | Bienvenidos a mi Blog ... · Cadena de caracteres Numéricas Fecha y hora Booleanas Tipo registro Tipo cursor](https://reader034.fdocuments.es/reader034/viewer/2022051602/5aefa8cd7f8b9a8c308c48ca/html5/thumbnails/47.jpg)
CREATE OR REPLACE PROCEDURE elimina_pelicula
(p_id_titulo IN NUMBER) AS
BEGIN
DELETE FROM titulo
WHERE id_titulo = p_id_titulo;
COMMIT;
END;