Código SQL:
En este caso hice 2 trigger uno para que me cambie el estado del libro de disponible a no disponible en el caso de que si es prestado el libro cambie el estado del libro a no disponible y cuando es devuelto cambie nuevamente a disponible... Ahora es el caso que no puedo prestar el libro 2 veces si no a sido devuelto y si a sido devuelto si se puede prestar nuevamente... No se que caso utilizar si un procedimiento o función y si puede me adjuntan el código de dicho respuesta... Ver original
CREATE TABLE alumnos( cod_alumno INTEGER NOT NULL, nombre_alumno VARCHAR(20)NOT NULL, libros_prestados INTEGER, CONSTRAINT PK_alumn PRIMARY KEY (cod_alumno) ); CREATE TABLE libros( cod_libro INTEGER NOT NULL, nombre VARCHAR(20)NOT NULL, estado VARCHAR(20) NOT NULL, CONSTRAINT PK_libros PRIMARY KEY (cod_libro) ); CREATE TABLE PRESTAMOS( codi_prestamo INTEGER NOT NULL, codi_libro INTEGER NOT NULL UNIQUE, codi_alumno INTEGER NOT NULL, FECHA_PRESTAMO DATE DEFAULT SYSDATE, FECHA_ENTREGA DATE DEFAULT SYSDATE+3, FECHA_DEVUELTO DATE, CONSTRAINT PK_prestam PRIMARY KEY (codi_prestamo), CONSTRAINT fk_libro FOREIGN KEY (codi_libro) REFERENCES libros (cod_libro), CONSTRAINT fk_alum FOREIGN KEY (codi_alumno) REFERENCES alumnos (cod_alumno) );