Tema: trigger
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2012, 11:55
Avatar de thomas_2417
thomas_2417
 
Fecha de Ingreso: noviembre-2012
Mensajes: 10
Antigüedad: 12 años
Puntos: 0
trigger

bueno vuelvo otra vez por aca a molestar con la base de datos de la biblioteca

Código SQL:
Ver original
  1. CREATE TABLE alumnos(
  2. cod_alumno INTEGER NOT NULL,
  3. nombre_alumno VARCHAR(20)NOT NULL,
  4. libros_prestados INTEGER,
  5. CONSTRAINT PK_alumn PRIMARY KEY (cod_alumno)
  6. );
  7.  
  8.  
  9. CREATE TABLE libros(
  10. cod_libro INTEGER NOT NULL,
  11. nombre VARCHAR(20)NOT NULL,
  12. estado VARCHAR(20) NOT NULL,
  13. CONSTRAINT PK_libros PRIMARY KEY (cod_libro)
  14. );
  15.  
  16. CREATE TABLE PRESTAMOS(
  17. codi_prestamo INTEGER NOT NULL,
  18. codi_libro INTEGER  NOT NULL UNIQUE,
  19. codi_alumno INTEGER NOT NULL,
  20. FECHA_PRESTAMO DATE DEFAULT SYSDATE,
  21. FECHA_ENTREGA DATE DEFAULT SYSDATE+3,
  22. FECHA_DEVUELTO DATE,
  23. CONSTRAINT PK_prestam PRIMARY KEY (codi_prestamo),
  24. CONSTRAINT fk_libro FOREIGN KEY (codi_libro) REFERENCES libros (cod_libro),
  25. CONSTRAINT fk_alum FOREIGN KEY (codi_alumno) REFERENCES alumnos (cod_alumno)
  26. );
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...

Última edición por gnzsoloyo; 11/12/2012 a las 18:30 Razón: Código SQL sin etiquetar.