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 originalDELIMITER $$
CREATE PROCEDURE subeArchivoPortal (
IN Name VARCHAR(60),
IN Description VARCHAR(50),
IN Path VARCHAR(60),
IN TYPE VARCHAR(15),
IN Premium VARCHAR(5),
IN Uploader INT,
IN Autor VARCHAR(50),
IN Url VARCHAR (5),
IN Level VARCHAR(10),
IN Portal INT
) BEGIN
DECLARE idFile INT DEFAULT 0;
SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'dbXXXXXXXXXX' AND TABLE_NAME = 'files' INTO idFile;
INSERT INTO files (fName ,fDescription ,fType,fDate, fPath ,fUploader,fAutor,fLevel,fUrl,fPremium) VALUES(Name ,Description ,TYPE,CURDATE(), Path ,Uploader,Autor,Level,Url,Premium);
INSERT INTO portalfiles (pfPortalID, pfFileID ) VALUES (Portal, idFile);
END$$
DELIMITER ;