Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2013, 04:13
franroa
 
Fecha de Ingreso: diciembre-2012
Mensajes: 21
Antigüedad: 11 años, 5 meses
Puntos: 0
Esta bien planteado este procedure? Se podria con triggers?

Tengo dos tablas relacionadas con otra entidad que tiene las claves foraneas de cada una: files y portals asociadas por portalfiles. Lque quiero es que al subir un archivo, se meta automaticamente en el portal que le pida (el procedure funciona perfectamente). Mi pregunta es si esta bien planteado así, me da la sensación de que estoy forzando a la base de datos. Pero no he encontrado otra manera.


La verdad es que tambien queria saber si esto que hago se puede con triggers, pero un trigger no admite el parametro "portalID" para saber a que portal asociar...

Muchas gracias!


Código SQL:
Ver original
  1. DELIMITER $$
  2.  
  3. CREATE PROCEDURE subeArchivoPortal (
  4.  
  5. IN Name VARCHAR(60),
  6.  
  7. IN Description  VARCHAR(50),
  8.  
  9. IN Path VARCHAR(60),
  10.  
  11. IN TYPE VARCHAR(15),
  12.  
  13. IN Premium VARCHAR(5),
  14.  
  15. IN Uploader INT,
  16.  
  17. IN Autor VARCHAR(50),
  18.  
  19. IN Url VARCHAR (5),
  20.  
  21. IN Level  VARCHAR(10),
  22.  
  23. IN Portal INT
  24.  
  25. ) BEGIN
  26.  
  27.  
  28. DECLARE idFile INT DEFAULT 0;
  29.  
  30.  
  31.                 SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'dbXXXXXXXXXX' AND TABLE_NAME = 'files' INTO idFile;
  32.  
  33.  
  34. INSERT INTO files  (fName ,fDescription ,fType,fDate, fPath ,fUploader,fAutor,fLevel,fUrl,fPremium) VALUES(Name ,Description ,TYPE,CURDATE(), Path ,Uploader,Autor,Level,Url,Premium);
  35.  
  36.  
  37. INSERT INTO portalfiles (pfPortalID, pfFileID ) VALUES (Portal, idFile);
  38. END$$
  39. DELIMITER ;