-
Notifications
You must be signed in to change notification settings - Fork 0
/
Sesión 7.sql
47 lines (41 loc) · 1.33 KB
/
Sesión 7.sql
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
-- PL/SQL Guión 1:
set serveroutput on;
-- Ejercicio 7:
-- Crear una nueva tabla denominada HistoricoClientes cuya clave primaria sea dni.
-- Realizar un procedimiento almacenado que copie el contenido de la tabla Clientes a dicha
-- tabla. Ejecutar el procedimiento almacenado dos veces.
CREATE TABLE HistoricoClientes (
DNI varchar(9),
NOMBRE varchar(40),
APELLIDO varchar(40),
CIUDAD varchar(25),
CONSTRAINT PK_HISTORICOCLIENTES PRIMARY KEY (DNI)
);
CREATE OR REPLACE PROCEDURE PROCEDURE7 IS
dni HISTORICOCLIENTES.DNI%TYPE;
nombre HISTORICOCLIENTES.NOMBRE%TYPE;
apellido HISTORICOCLIENTES.APELLIDO%TYPE;
ciudad HISTORICOCLIENTES.CIUDAD%TYPE;
CURSOR C1 IS SELECT * FROM CLIENTES;
BEGIN
OPEN C1;
LOOP
FETCH C1 INTO dni, nombre, apellido, ciudad;
INSERT INTO HISTORICOCLIENTES VALUES(dni, nombre, apellido, ciudad);
EXIT WHEN C1%NOTFOUND;
END LOOP;
CLOSE C1;
END;
BEGIN
COPIAR_CLIENTES;
END;
-- Ejercicio 8:
-- Realizar un procedimiento almacenado que muestre en pantalla la información sobre los
-- objetos creados por el usuario.
CREATE OR REPLACE PROCEDURE PROCEDURE78 AS
BEGIN
FOR I IN (SELECT * FROM USER_OBJECTS) LOOP
DBMS_OUTPUT.PUT_LINE('Has creado el objeto '||I.OBJECT_NAME||' de tipo '||I.OBJECT_TYPE);
END LOOP;
END;
CALL MOSTRAR_OBJETOS();