create table cliente(
id_cliente number(6) PRIMARY KEY NOT NULL,
nombre varchar (20),
apellidom varchar2 (20),
apellidop varchar2 (20),
direccion varchar2 (100),
no_cuenta varchar2 (20),
tipo_cuenta varchar2 (15),
correo varchar2 (30),
sucursal varchar2 (20),
saldo decimal (7,2));
insert into cliente
values (1,'BRYAN', 'MENDOZA', 'MARTINEZ', 'NICOLAS ROMERO', '18765', 'PLATINUM',
'
[email protected]', 'SANTANDER', 1200);
insert into cliente
values (2,'JAVIER', 'PEREZ', 'JUAREZ', 'TLALNEPLANTLA DE BAZ', 213421', 'PLATINUM',
'
[email protected]', 'HSBC', 3201);
insert into cliente
values (3,'CARLOS', 'FIDENSIO', 'SANCHEZ', 'NICOLAS ROMERO', '453212',
'ORO','
[email protected]', 'BANORTE', 1900);
insert into cliente
values (4,'ALONZO', 'CADETE', 'OLVERA', 'ATIZAPAN', '983192', 'ORO',
'
[email protected]', 'BANCOMER', 2000);
insert into cliente
values (5,'FANNYY', 'MARTINEZ', 'DOMINGUEZ', 'NICOLAS ROMERO', '653234',
'PLATINUM', '
[email protected]', 'BANAMEX', 2100);
insert into cliente (nombre, apellidom, apellidop, tipo_cuenta) values
('BRYAN', 'MENDOZA', 'MARTINEZ', 'PLATINUM'),
('JAVIER', 'PEREZ', 'JUAREZ', 'PLATINUM'),
('ALONZO', 'CADETE', 'OLVERA', 'ORO'),
('ALBERTO', 'ACEVES', 'OLVERA', 'ORO'),
('CARLOS', 'FIDENSIO', 'SANCHEZ', 'PLATINUM'),
('FANNYY', 'MARTINEZ', 'DOMINGUEZ', 'ESTANDAR'),
('JUANA', 'SANTILLAN', 'CRUZ', 'ESTANDAR'),
('KARINA', 'VARGAS', 'TORRES', 'ESTANDAR'),
('MARIBEL', 'CARMONA', 'MONTERO', 'ESTANDAR'),
('MATIAS', 'DIAZ', 'FERNANDEZ');
ALTER TABLE cliente
ADD FOREIGN KEY (id_cuenta) REFERENCES cuenta(id_cuenta);
ALTER TABLE cliente
ADD FOREIGN KEY (id_bancaria) REFERENCES bancaria(id_bancaria);
_________________________________________________
create table cuenta (
id_cuenta number (15) primary key not null,
id_bancaria number (11),
tipo_cuenta varchar2 (20));
__________________________________________________
create table sucursal(
id_sucursal number (8) primary key,
nombre varchar2 (20),
estado varchar2 (20),
municipio varchar2 (20),
calle varchar2 (20),
cp varchar2 (20),
telefono varchar2 (10),
id_cliente number(6),
id_cuenta number(15));
insert into sucursal
values(1,'BANAMEX','mexico','atizapan','emiliana zapata','544018','1254223',1,2);
insert into sucursal
values(2,'BANAMEX','mexico','nicolas romero','loma de la
cruz','544018','3242244',2,3);
insert into sucursal
values(3,'SANTANDER','mexico','nicolas romero','hidalgo','54418','328743244',3,4);
ALTER TABLE sucursal
ADD FOREIGN KEY (id_cuenta) REFERENCES cuenta(id_cuenta);
ALTER TABLE sucursal
ADD FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente);
____________________________________________________
create table bancaria(
id_bancaria number(5) primary key not null,
numero_op varchar2 (10) not null,
fecha_operacion date not null,
tipo_operacion varchar2 (10) not null,
importe decimal (6,2) not null);
insert into bancaria
values (1,'201232', '2019-06-06', 'EN LINEA', '2350.00');
insert into bancaria
values(2,'153', '2011-02-09', 'EN LINEA', '1900.00');
insert into bancaria
values(3,'2343', '2018-11-23', 'SUCURSAL', '2000.00');
insert into bancaria
values(5,'3432', '2017-07-12', 'EN LINEA', '1500.00');
insert into bancaria
values(6,'1001', '2011-09-06', 'SUCURSAL', '2550.00');
ALTER TABLE bancaria
ADD FOREIGN KEY (id_cliente) REFERENCES cliente(id_cliente)
_____________________________________________________
insert into cliente (no_cuenta, saldo) values
('123456', 24690),
('654345', 45678),
('235465', 3212),
('656543', 23454),
('123432', 54323),
('111222', 1000),
('555444', 2000),
('333444', 9000),
('445566', 10000),
('990011', 500);
SELECT nombre, apellidom, apellidop, tipo_cuenta, numero_op, fecha_operacion,
tipo_operacion, importe
FROM cliente, bancaria
where bancaria.id_cliente = cliente.id_cliente;
Update cliente Set correo_electronico='[email protected]' Where id_cliente='1';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='2';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='3';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='4';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='5';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='6';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='7';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='8';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='9';
Update cliente Set correo_electronico='
[email protected]' Where id_cliente='10';
UPDATE sucursal SET telefono='56765434' where id_sucursal=1;
UPDATE sucursal SET telefono ='34543456' where id_sucursal=2;
UPDATE sucursal SET telefono = '55678798' where id_sucursal=3;
UPDATE sucursal SET telefono = '12345456' where id_sucursal=4;
UPDATE sucursal SET telefono = '76543465' where id_sucursal=5;
create or replace trigger cliente
before update
on cliente
for each row
begin
if updating('nombre') then
insert into cliente (nombre)
values ('nuevo nombre' ||:new.nombre||' Viejo nombre'||:old.nombre||'Fecha'||
SYSDATE);
END IF;
END;
/
update cliente set nombre = 'Rodrigo' where id_cliente=2;
create or replace trigger cliente
before update
on cliente
for each row
begin
if updating('correo') then
insert into cliente (correo)
values ('nuevo correo' ||:new.correo||' Viejo correo'||:old.correo||'Fecha'||
SYSDATE);
END IF;
END;
/
update cliente set nombre = 'juan' where id_cliente=2;
DECLARE
nombre varchar2(20);
direccion VARCHAR2 (100);
correo VARCHAR2(30);
BEGIN
SELECT nombre, direccion, correo into nombre, direccion, correo from cliente WHERE
id_cliente = 1;
DBMS_OUTPUT.PUT_LINE(nombre||'* '||direccion||' * '||correo);
END;
/
DECLARE
id_cliente number(6);
nombre VARCHAR2 (100);
sucursal VARCHAR2(30);
BEGIN
SELECT id_cliente, nombre, sucursal into id_cliente, nombre, sucursal from cliente
WHERE id_cliente = 1;
DBMS_OUTPUT.PUT_LINE(id_cliente||'* '||nombre||' * '||sucursal);
END;
/
create or replace procedure ver_id_cliente(id_cliente number)
as
v_id_cliente number;
cursor c1 is
select nombre from cliente where id_cliente=v_id_cliente;
v_nombre varchar2(20);
begin
v_id_cliente:=id_cliente;
open c1;
fetch c1 into v_nombre;
WHILE C1%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(v_nombre);
fetch c1 into v_nombre;
end loop;
close c1;
end;
/
EXECUTE ver_id_cliente(6);
create or replace procedure ver_id_sucursal(id_sucursal number)
as
v_id_sucursal number;
cursor c1 is
select nombre from cliente where id_sucursal=v_id_sucursal;
v_nombre varchar2(20);
begin
v_id_sucursal:=id_sucursal;
open c1;
fetch c1 into v_nombre;
WHILE C1%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(v_nombre);
fetch c1 into v_nombre;
end loop;
close c1;
end;
/
EXECUTE ver_id_sucursal(8);
set serveroutput on;
DECLARE
CURSOR C1 IS
SELECT no_cuenta,nombre,correo FROM Cliente WHERE Id_Cliente = 1;
no_cuenta varchar2(20);
nombre varchar2(20);
correo varchar2(30);
BEGIN
OPEN C1;
FETCH C1 INTO no_cuenta,nombre,correo;
DBMS_OUTPUT.PUT_LINE(no_cuenta||' '||nombre||' '||correo);
CLOSE C1;
END;
/
set serveroutput on;
DECLARE
CURSOR C1 IS
SELECT nombre, estado, municipio from sucursal where id_sucursal = 1;
nombre varchar2(20);
estado varchar2(20);
municipio varchar2(20);
BEGIN
OPEN C1;
FETCH C1 INTO nombre, estado, municipio;
DBMS_OUTPUT.PUT_LINE(nombre||' '||estado||' '||municipio);
CLOSE C1;
END;
/
___________________________________________________________________________________
_
___________________________________________________________________________________
_
CURSORES CON PARAMETROS
DECLARE
CURSOR C1 (vid_cliente Cliente.id_cliente%TYPE)
IS SELECT nombre,apellidop FROM cliente WHERE id_cliente = Vid_cliente;
v_nombre cliente.nombre%TYPE;
v_apellidop cliente.apellidop%TYPE;
BEGIN
OPEN C1 ('1');
LOOP
FETCH C1 INTO v_nombre,v_apellidop;
EXIT WHEN C1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_nombre||' '||v_apellidop);
END LOOP;
CLOSE C1;
END;
/
DECLARE
CURSOR C1 (vid_sucursal sucursal.id_sucursal%TYPE)
IS SELECT nombre,estado,municipio,telefono
FROM Sucursal WHERE id_sucursal = vid_sucursal;
v_nombre sucursal.nombre%TYPE;
v_estado sucursal.estado%TYPE;
v_municipio Sucursal.municipio%TYPE;
v_telefono Sucursal.telefono%TYPE;
BEGIN
OPEN C1 ('1');
LOOP
FETCH C1 INTO v_nombre,v_estado,v_municipio,v_telefono;
EXIT WHEN C1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(v_nombre||' '||v_estado||' '||v_municipio||' '||
v_telefono);
END LOOP;
CLOSE C1;
END;
/