-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClase 2 PL-SQL.sql
More file actions
67 lines (36 loc) · 1.72 KB
/
Clase 2 PL-SQL.sql
File metadata and controls
67 lines (36 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
--PROCEDIMIENTO
-- UN PROCEDIMIENTO ES UN BLOQUE DE CÓDIGO QUE REALIZA UNA ACCIÓN ESPECÍFICA, PERO NO DEVUELVE UN VALOR. SE PUEDE USAR PARA ENCAPSULAR Y REUTILIZAR LÓGICA,
-- HACER TAREAS COMO INSERTAR, ACTUALIZAR, O BORRAR REGISTROS EN UNA BASE DE DATOS, ENTRE OTRAS.
-- LOS PARÁMETROS PUEDE SER DE TIPO 'IN' (ENTRADA), 'OUT' (SALIDA) O 'IN OUT' (ENTRADA Y SALIDA).
-- LOS PROCEDIMIENTOS NO DEVUELVEN VALORES DIRECTAMENTE (AL CONTRARIO DE LAS FUNCIONES).
CREATE PROCEDURE NOMBRE_DEL_PROCEDIMIENTO (PARAMETRO1 IN TIPO, PARAMETRO2 OUT TIPO, ...)
IS
-- DECLARACIÓN DE VARIABLES
-- AQUÍ SE PUEDEN DECLARAR VARIABLES LOCALES QUE SERÁN USADAS DENTRO DEL PROCEDIMIENTO.
BEGIN
-- CÓDIGO DE EJECUCIÓN
-- SENTENCIAS SQL Y PL/SQL
-- AQUÍ SE EJECUTAN LAS ACCIONES QUE DESEA REALIZAR EL PROCEDIMIENTO,
-- COMO CONSULTAS, INSERCIÓN, ACTUALIZACIÓN, ETC.
EXCEPTION
-- MANEJO DE EXCEPCIONES
-- AQUÍ SE PUEDEN CAPTURAR ERRORES O EXCEPCIONES QUE SE PUEDAN PRESENTAR DURANTE LA EJECUCIÓN.
END;
-- EJEMPLO 1:
-- TABLA:
CREATE TABLE ACTORES_TEMP (
ACTOR_ID NUMBER PRIMARY KEY,
NOMBRE VARCHAR2(50),
NACIONALIDAD VARCHAR2(50)
);
-- PROCEDIMIENTO
CREATE OR REPLACE PROCEDURE INSERTAR_ACTOR ( P_NOMBRE IN VARCHAR2, P_NACIONALIDAD IN VARCHAR2 ) IS
BEGIN
INSERT INTO ACTORES_TEMP (ACTOR_ID, NOMBRE, NACIONALIDAD) VALUES (ACTORES_TEMP_SEQ.NEXTVAL, P_NOMBRE, P_NACIONALIDAD);
DBMS_OUTPUT.PUT_LINE('Actor ' || P_NOMBRE || ' insertado exitosamente.');
END;
-- LLAMAR AL PROCEDIMIENTO PARA EJECUTARLO:
BEGIN
INSERTAR_ACTOR('Vin Gasoil', 'Estadounidense');
INSERTAR_ACTOR('Scarlett Johansson', 'Estadounidense');
END;