You are on page 1of 2

----------TABLAS----------

CREATE TABLE DESPACHO(


ID_DESPACHO NUMBER PRIMARY KEY NOT NULL,
NIT INTEGER NOT NULL,
RAZON_SOCIAL VARCHAR(30) NOT NULL,
DEPARTAMENTO VARCHAR(30) NOT NULL,
CIUDAD VARCHAR(30) NOT NULL,
DIRECCION VARCHAR(30) NOT NULL,
TELEFONO VARCHAR(30) NOT NULL,
EMAIL VARCHAR(30) NOT NULL
);

CREATE TABLE CLIENTE(


CEDULA NUMBER PRIMARY KEY NOT NULL,
NOMBRE VARCHAR(30) NOT NULL,
APELLIDO VARCHAR(30) NOT NULL,
TELEFONO VARCHAR(30) NOT NULL,
EMAIL VARCHAR(30) NOT NULL
);
EXECUTE
CREATE TABLE ABOGADO(
CEDULA NUMBER PRIMARY KEY NOT NULL,
NOMBRE VARCHAR(30) NOT NULL,
APELLIDO VARCHAR(30) NOT NULL,
TELEFONO VARCHAR(30) NOT NULL,
EMAIL VARCHAR(30) NOT NULL,
ID_DESPACHO NUMBER NOT NULL,
FOREIGN KEY (ID_DESPACHO) REFERENCES DESPACHO (ID_DESPACHO)
);

CREATE TABLE CASO(


ID_CASO NUMBER PRIMARY KEY NOT NULL,
DESCRIPCION VARCHAR(200) NOT NULL,
HORAS VARCHAR(30) NOT NULL,
FECHA VARCHAR(30) NOT NULL,
EMAIL VARCHAR(30) NOT NULL,
ID_CLIENTE NUMBER NOT NULL,
ID_ABOGADO NUMBER NOT NULL,
FOREIGN KEY (ID_CLIENTE) REFERENCES CLIENTE (CEDULA),
FOREIGN KEY (ID_ABOGADO) REFERENCES ABOGADO (CEDULA)
);

CREATE TABLE BITACORA(


USUARIO VARCHAR(50),
FECHA DATE
);

----------SECUENCIAS----------
CREATE SEQUENCE SQ_ID_DESPACHO
INCREMENT BY 1 START WITH 1 MINVALUE 1
MAXVALUE 100 CYCLE;

CREATE SEQUENCE SQ_CEDULA


INCREMENT BY 1 START WITH 100 MINVALUE 1
MAXVALUE 500 CYCLE;

----------PROCEDURES----------
--**CLIENTES**--
CREATE OR REPLACE PROCEDURE INSERTAR_CLIENTE
(ced NUMBER,nom VARCHAR,ape VARCHAR,tel VARCHAR,ema VARCHAR)
IS
BEGIN
INSERT INTO CLIENTE (CEDULA,NOMBRE,APELLIDO,TELEFONO,EMAIL)VALUES(ced,nom,ape,
tel,ema);
END INSERTAR_CLIENTE;

EXECUTE UPDATE_CLIENTE(1121,'MARIO','AN','3013483633','JUANCP@GMAIL.COM');
EXECUTE INSERTAR_CLIENTE(SQ_CEDULA.NEXTVAL,'JUAN','FR','00000000000','-------
@GMAIL.COM');
EXECUTE INSERTAR_CLIENTE(5667,'ALCIDES','TAPIA','00000000000','-------@GMAIL.COM');
EXECUTE INSERTAR_CLIENTE(7867,'MARIA','MIKEL','00000000000','-------@GMAIL.COM');
EXECUTE INSERTAR_CLIENTE(0998,'JOSE','LUKE' ,'00000000000','-------@GMAIL.COM');
SELECT *FROM CLIENTE;
SELECT *FROM BITACORA;
CREATE OR REPLACE PROCEDURE UPDATE_CLIENTE
(ced NUMBER,nom VARCHAR,ape VARCHAR,tel VARCHAR,ema VARCHAR)
IS
BEGIN
UPDATE CLIENTE SET
CEDULA=ced,
NOMBRE=nom,
APELLIDO=ape,
TELEFONO=tel,
EMAIL=ema
WHERE CEDULA=ced;
END UPDATE_CLIENTE;

EXECUTE UPDATE_CLIENTE(100,'JUAN PIÑA','GONZALEZ','301833883','JUANP@GMAIL.COM');


EXECUTE INSERTAR_CLIENTE(455,'LICETH','GONZALEZ','444343','JUANP@GMAIL.COM');
CREATE OR REPLACE PROCEDURE DELETE_CLIENTE
(ced NUMBER)
IS
BEGIN
DELETE CLIENTE
WHERE
CEDULA=ced;
END DELETE_CLIENTE;
SELECT * FROM CLIENTE;
SELECT * FROM BITACORA;
EXECUTE DELETE_CLIENTE(7867);
----------TRIGRRES----------

CREATE OR REPLACE TRIGGER TR_REGISTRO_CLIENTE


BEFORE INSERT
ON CLIENTE
BEGIN
INSERT INTO BITACORA VALUES (USER,SYSDATE);
END TR_REGISTRO_CLIENTE;

You might also like